/* Django şablonları için küçük yardımcı sınıflar (prototip CSS'ine ek).
   Amaç: satır içi stil kullanmadan (CSP dostu) tekrar eden düzenleri kapsamak. */

/* Dil değiştirici artık gerçek bir form (set_language view'ına POST) —
   <button>'lar prototip4'teki <a> linkleriyle birebir aynı görünsün diye
   sıfırlanıyor. */
.lang-switch { align-items: center; }
.lang-switch button, .nav-lang button { font: inherit; background: none; border: 0; cursor: pointer; color: inherit; }
.lang-switch button { font-family: var(--f-mono); font-size: 12px; padding: 2px 6px; letter-spacing: .06em; }
.lang-switch button[aria-current="true"] { color: var(--sun); }
.nav-lang button { font-family: var(--f-mono); font-size: 13px; letter-spacing: .06em; padding: 8px 14px; border: 1px solid var(--rule); }
.nav-lang button[aria-current="true"] { border-color: var(--ink); background: var(--ink); color: var(--paper); }

.detail-title { font-family: var(--f-serif); font-size: clamp(30px, 3.6vw, 44px); margin: 16px 0 20px; }

/* Detay sayfası kapak görseli: sayfanın en üstünde, tam genişlikte bir
   banner olarak (başlıktan önce) — küçük bir kutuya sıkıştırılmaz. */
.detail-banner { width: 100%; aspect-ratio: 21 / 7; object-fit: cover; background: var(--paper-3); margin-bottom: 32px; }
@media (max-width: 640px) { .detail-banner { aspect-ratio: 16 / 10; } }

/* Detay sayfası gövdesi: ana içerik + sağda "İlgili içerikler" kenar
   çubuğu (bkz. sidebar-card) — içerik tek başınaysa (kenar çubuğu boşsa)
   tam genişliğe yayılır (:only-child). */
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.detail-layout > *:only-child { grid-column: 1 / -1; }
.detail-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 24px; }
.sidebar-card { border: 1px solid var(--rule); padding: 22px; }
.sidebar-card h3 { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 14px; }
.sidebar-card ul { display: flex; flex-direction: column; gap: 12px; }
.sidebar-card li { padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.sidebar-card li:last-child { border-bottom: 0; padding-bottom: 0; }
.sidebar-card a { text-decoration: none; font-weight: 600; font-size: 14.5px; line-height: 1.4; display: block; }
.sidebar-card a:hover { color: var(--sun-ink); }
.sidebar-card a .meta-line { display: block; font-weight: 400; margin-top: 4px; }
.sidebar-card p { font-size: 14px; color: var(--ink-2); margin: 0; }
@media (max-width: 900px) { .detail-layout { grid-template-columns: 1fr; } .detail-sidebar { position: static; } }
.detail-coord-block { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rule); max-width: 360px; }
.detail-section { margin-top: 48px; }
.back-link-row { margin-top: 40px; }

/* Personel: dikey sekmeler + içerik ızgarası */
.people-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: start; margin-top: 28px; }
.vertical-tabs { display: flex; flex-direction: column; border-left: 2px solid var(--rule); }
.vertical-tabs a {
  padding: 12px 16px; text-decoration: none; color: var(--ink-2); font-weight: 600;
  border-left: 2px solid transparent; margin-left: -2px; transition: color .15s, border-color .15s, background .15s;
}
.vertical-tabs a:hover { background: var(--paper-2); color: var(--ink); }
.vertical-tabs a[aria-current="true"], .vertical-tabs a[aria-selected="true"] { color: var(--sun-ink); border-left-color: var(--sun); background: var(--paper-2); }
.person-card {
  display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule);
  text-decoration: none; position: relative; overflow: hidden; transition: box-shadow .18s, border-color .18s, transform .18s;
}
.person-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--sun); transform: scaleX(0); transform-origin: left; transition: transform .18s; }
.person-card:hover { border-color: var(--ink); box-shadow: 0 16px 32px -20px rgba(22, 19, 15, .35); transform: translateY(-2px); }
.person-card:hover::before { transform: scaleX(1); }
.person-card .avatar { width: 100%; aspect-ratio: 1; font-size: 34px; margin: 0; border-radius: 0; }
.person-card .card-body { padding: 18px 20px 22px; }
.person-card h3 { font-family: var(--f-serif); font-size: 18px; margin: 0 0 4px; }
.person-card p { font-size: 13.5px; color: var(--ink-3); margin: 0; }
.person-card p + p { margin-top: 3px; color: var(--sun-ink); font-weight: 600; }
.person-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }

/* Laboratuvarlar: kapak görselli kartlar, galeri, video gömme */
.lab-card-cover { aspect-ratio: 16/10; margin-bottom: 16px; object-fit: cover; width: 100%; background: var(--paper-3); }
.lab-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-top: 16px; }
.lab-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.lab-gallery figure { margin: 0; }
.lab-gallery figcaption { font-size: 12.5px; color: var(--ink-3); margin-top: 6px; }
.video-embed { position: relative; aspect-ratio: 16/9; margin-bottom: 16px; background: var(--ink); }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-list { display: grid; gap: 24px; margin-top: 16px; }

/* Ortak filtre çubuğu: Yayınlar, Projeler, Personel liste sayfalarında
   kullanılır. Tarayıcı varsayılanı yerine tutarlı, tasarlanmış bir görünüm —
   kutulu bir "araç çubuğu" içinde özel oklu select'ler. */
.filter-form {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
  margin: 24px 0 32px; padding: 18px 22px; background: var(--paper-2); border: 1px solid var(--rule);
}
.filter-form .field { display: flex; flex-direction: column; gap: 5px; }
.filter-form label { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.filter-form select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  padding: 9px 34px 9px 14px; min-width: 168px; font: inherit; font-size: 14px; color: var(--ink);
  background-color: var(--paper); border: 1px solid var(--rule); cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%2316130F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 10px;
  transition: border-color .15s;
}
.filter-form select:hover, .filter-form select:focus { border-color: var(--ink); outline: none; }
.filter-form input[type="search"] {
  padding: 9px 14px; min-width: 220px; font: inherit; font-size: 14px; color: var(--ink);
  background-color: var(--paper); border: 1px solid var(--rule); transition: border-color .15s;
}
.filter-form input[type="search"]:hover, .filter-form input[type="search"]:focus { border-color: var(--ink); outline: none; }
.filter-form .field-grow { flex: 1; min-width: 220px; }
.filter-form .btn { align-self: flex-end; }
.pagination-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 32px 0 8px; padding-top: 20px; border-top: 1px solid var(--rule); }

.pub-detail-meta { display: flex; flex-direction: column; gap: 8px; margin: 20px 0; font-size: 14.5px; color: var(--ink-2); }
.pub-detail-authors { margin-top: 8px; }

/* Yayınlar & Projeler: liste öğeleri kart görünümünde (kenarlık + hover) */
.pub-list li, .proj-list li {
  padding: 22px 24px; border: 1px solid var(--rule); margin-bottom: 14px; transition: border-color .15s, box-shadow .15s;
}
.pub-list li:hover, .proj-list li:hover { border-color: var(--ink); box-shadow: 0 12px 28px -22px rgba(22, 19, 15, .3); }

/* Proje ilerleme çubuğu genişlikleri — satır içi stil kullanmamak için
   0..100 arası, 5'lik adımlarla sabit sınıflar (bkz. Project.progress_percent_rounded). */
.timeline span.w-0 { width: 0%; } .timeline span.w-5 { width: 5%; } .timeline span.w-10 { width: 10%; }
.timeline span.w-15 { width: 15%; } .timeline span.w-20 { width: 20%; } .timeline span.w-25 { width: 25%; }
.timeline span.w-30 { width: 30%; } .timeline span.w-35 { width: 35%; } .timeline span.w-40 { width: 40%; }
.timeline span.w-45 { width: 45%; } .timeline span.w-50 { width: 50%; } .timeline span.w-55 { width: 55%; }
.timeline span.w-60 { width: 60%; } .timeline span.w-65 { width: 65%; } .timeline span.w-70 { width: 70%; }
.timeline span.w-75 { width: 75%; } .timeline span.w-80 { width: 80%; } .timeline span.w-85 { width: 85%; }
.timeline span.w-90 { width: 90%; } .timeline span.w-95 { width: 95%; } .timeline span.w-100 { width: 100%; }

/* Panelden yönetilen açılır (mega) menü: prototip4'ün 3 sütunlu zengin
   panelinden farklı olarak, MenuItem admin'den serbestçe eklenip
   çıkarılabildiği için tek sütunlu, sade bir bağlantı listesi kullanır —
   ama aynı .mega/.mega-inner kabuğunu ve numaralandırılmadan sade link
   görünümünü (mega-units) paylaşır. */
.mega-inner-simple { display: block; grid-template-columns: none; padding: 28px var(--gut) 32px; }
.mega-inner-simple .mega-units { columns: 2; }
.mega-inner-simple .mega-label a { color: inherit; text-decoration: none; }
.mega-inner-simple .mega-label a:hover { color: var(--sun-ink); }
@media (max-width: 1024px) { .mega-inner-simple .mega-units { columns: 1; } }

/* filter-tabs (prototip4'te sadece <button> içindi) gerçek <a> linklerle de
   aynı görünsün diye — sunucu tarafında filtrelenen liste sayfaları JS gerektirmez. */
.filter-tabs a { display: inline-block; border-left: 1px solid var(--ink); padding: 8px 14px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--ink); }
.filter-tabs a:first-child { border-left: 0; }
.filter-tabs a[aria-current="true"] { background: var(--ink); color: var(--paper); }
.person-photo { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: var(--paper-3); }
.person-photo-detail { width: 100%; max-width: 200px; aspect-ratio: 1; object-fit: cover; margin-bottom: 20px; background: var(--paper-3); }
.sidebar-card .person-photo-detail { max-width: none; margin: -22px -22px 18px; width: calc(100% + 44px); border-radius: 0; }
@media (max-width: 760px) { .people-layout { grid-template-columns: 1fr; } .vertical-tabs { flex-direction: row; overflow-x: auto; border-left: 0; border-bottom: 2px solid var(--rule); } .vertical-tabs a { border-left: 0; border-bottom: 2px solid transparent; margin-left: 0; margin-bottom: -2px; white-space: nowrap; } .vertical-tabs a[aria-current="true"], .vertical-tabs a[aria-selected="true"] { border-left-color: transparent; border-bottom-color: var(--sun); } }

/* Normal sayfalarda sekmeli içerik (page-tabs.js): solda dikey sekme listesi, sağda seçili bölüm. Betik yokken
   bölümler alt alta görünür (is-enhanced sınıfı yoksa aralıklı dizilir). */
.page-tabs { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 32px; align-items: start; }
.page-tabs .tab-panels { min-width: 0; }
.page-tabs .vertical-tabs { position: sticky; top: 24px; }
.page-tabs .tab-panel + .tab-panel { margin-top: 44px; }
.page-tabs.is-enhanced .tab-panel + .tab-panel { margin-top: 0; }
.tab-panel-title { font-family: var(--f-serif); font-size: 26px; margin: 0 0 16px; }
.tab-panel .rich-text { font-size: 18px; line-height: 1.55; color: var(--ink-2); }
.tab-panel[hidden] { display: none; }
/* Sekmeye özel ilişkili kişi/birimler (sekme içeriğinin altında) */
.tab-related { display: grid; gap: 24px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--rule); }
.tab-related-title { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 14px; }
.related-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px 20px; margin-top: 4px; }
.related-people a, .sidebar-card li .unit-coord { text-decoration: none; }
.sidebar-card a.unit-coord { display: flex; }
.related-people .unit-coord, .sidebar-card li .unit-coord { border-top: 0; padding-top: 0; }
.related-units { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.sidebar-card .related-people, .sidebar-card .related-units { margin-top: 0; }

/* Normal sayfada "sidebarda göster" işaretli bölümler: dar sağ sütuna uyarlanır. */
.detail-sidebar.is-tall { position: static; }
.detail-sidebar .page-tabs { grid-template-columns: 1fr; gap: 16px; }
.detail-sidebar .page-tabs .vertical-tabs { position: static; }
.detail-sidebar .tab-panel-title { font-size: 20px; }
.detail-sidebar .tab-panel .rich-text { font-size: 15px; line-height: 1.5; }
.detail-sidebar .lab-gallery { grid-template-columns: 1fr; }
.detail-sidebar .doc-list { grid-template-columns: 1fr; margin-top: 0; }
.sidebar-card .doc-list .doc-card { flex-wrap: wrap; padding: 14px 16px; border: 1px solid var(--rule); }
.sidebar-card .doc-list .doc-single .doc-card, .sidebar-card .doc-single .doc-card { border-left: 4px solid var(--sun); }
.detail-sidebar .doc-actions { width: 100%; justify-content: flex-start; }
.sidebar-card .doc-gallery .eyebrow, .sidebar-card > .eyebrow { margin-bottom: 14px; }
/* Sağ sütundaki kart stilleri (.sidebar-card a/ul/li/p) zengin metnin içindeki bağlantı ve listeleri bozmasın. */
.sidebar-card .rich-text ul, .sidebar-card .rich-text ol { display: block; }
.sidebar-card .rich-text li { padding-bottom: 0; border-bottom: 0; }
.sidebar-card .rich-text a { display: inline; font-weight: inherit; font-size: inherit; }
.sidebar-card .rich-text p { font-size: inherit; color: inherit; }
@media (max-width: 760px) {
  .page-tabs { grid-template-columns: 1fr; gap: 20px; }
  .page-tabs .vertical-tabs { position: static; }
}
/* Anasayfa: GÜNAM Ekosistemi kartları (logo + başlık). Kart sayısı panelden eklenen kadardır; sütun sayısı otomatik. */
.eco-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin-top: 28px; }
.eco-card { display: flex; flex-direction: column; height: 100%; background: var(--paper); border: 1px solid var(--rule); text-decoration: none; position: relative; overflow: hidden; transition: border-color .18s, box-shadow .18s, transform .18s; }
.eco-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--sun); transform: scaleX(0); transform-origin: left; transition: transform .18s; }
.eco-card:hover, .eco-card:focus-visible { border-color: var(--ink); box-shadow: 0 16px 32px -20px rgba(22, 19, 15, .35); transform: translateY(-2px); }
.eco-card:hover::before, .eco-card:focus-visible::before { transform: scaleX(1); }
.eco-logo { display: grid; place-items: center; height: 132px; padding: 22px 26px; background: #fff; border-bottom: 1px solid var(--rule); }
.eco-logo img { width: auto; height: auto; max-width: 100%; max-height: 88px; object-fit: contain; }
.eco-initials { font-family: var(--f-serif); font-size: 34px; font-weight: 700; color: var(--sun-ink); letter-spacing: .02em; }
.eco-name { flex: 1; padding: 16px 18px 6px; font-family: var(--f-serif); font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.eco-go { align-self: flex-start; width: 16px; height: 16px; margin: 6px 18px 18px; color: var(--sun-ink); transition: transform .18s; }
.eco-card:hover .eco-go { transform: translateX(4px); }
/* Panelden yüklenen altbilgi logosu: SVG logonun sabit en-boy oranı kutusu yerine görselin kendi oranı. */
.footer-brand .logo.footer-logo-image { width: auto; max-width: 240px; aspect-ratio: auto; }
.footer-brand .logo.footer-logo-image img { width: auto; max-width: 100%; max-height: 96px; }

/* Hakkımızda > Değerlerimiz: açılır-kapanır liste (koyu zemin; details/summary, betiksiz). */
.value-accordion { border-top: 1px solid var(--night-rule); }
.value-item { border-bottom: 1px solid var(--night-rule); }
.value-item summary, .value-head { display: grid; grid-template-columns: 56px minmax(0, 1fr) 16px; gap: 16px; align-items: center; padding: 18px 0; }
.value-item summary { cursor: pointer; list-style: none; }
.value-item summary::-webkit-details-marker { display: none; }
.value-item summary:hover strong, .value-item[open] summary strong { color: var(--sun); }
.value-item summary:focus-visible { outline: 2px solid var(--sun); outline-offset: 2px; }
.value-item .code { font-family: var(--f-mono); font-size: 12px; color: var(--sun); letter-spacing: .04em; }
.value-item strong { font-weight: 700; font-size: 17px; transition: color .15s; }
.value-chev { width: 14px; height: 14px; color: var(--night-mute); transition: transform .2s; }
.value-item[open] .value-chev { transform: rotate(180deg); color: var(--sun); }
.value-body { padding: 0 32px 20px 72px; color: var(--night-mute); font-size: 15.5px; line-height: 1.65; }
.value-body p { margin: 0 0 .8em; }
.value-body p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .value-item summary, .value-head { grid-template-columns: 40px minmax(0, 1fr) 16px; gap: 10px; } .value-body { padding: 0 0 18px 50px; } }

/* Admin panelinden yüklenen raster logo, mevcut inline SVG logoyla aynı
   kapsayıcı boyutlandırmasını (.logo genişlik/aspect-ratio) kullanır. */
.logo img { width: 100%; height: auto; display: block; }

/* Anasayfa haber vitrini: gerçek görsel yüklendiğinde .ph'nin diagonal
   desenli görünümü yerine gerçek fotoğraf gösterilir. Boyutlandırma zaten
   .news-main .ph / .news-side-item .ph kurallarından geliyor (main.css); img
   etiketi için yalnızca object-fit/width eklenir (satır içi stil yok). */
img.ph { display: block; width: 100%; object-fit: cover; }

/* CKEditor 5 (RichTextField) içeriğinin kuralları: core/css/rich-text.css (editörle ortak). */
.news-side-item { text-decoration: none; color: inherit; }

/* Blog: kart ızgarası (kapak görseli + kategori + özet) */
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin-top: 28px; }
.post-card {
  display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule);
  text-decoration: none; color: inherit; overflow: hidden; transition: box-shadow .18s, border-color .18s, transform .18s;
}
.post-card:hover { border-color: var(--ink); box-shadow: 0 18px 36px -22px rgba(22, 19, 15, .35); transform: translateY(-2px); }
.post-card .post-card-media { aspect-ratio: 16/10; }
.post-card .post-card-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post-card .pub-top { margin: 0; }
.post-card h3 { font-family: var(--f-serif); font-size: 19px; line-height: 1.32; margin: 0; }
.post-card:hover h3 { color: var(--sun-ink); }
.post-card p { font-size: 14px; color: var(--ink-2); line-height: 1.5; margin: 0; flex: 1; }

/* Faaliyet Raporları: yıl + PDF butonu satırları */
.report-list li { border-bottom: 1px solid var(--rule); }
.report-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 20px 0; }
.report-year { font-family: var(--f-mono); font-size: 28px; font-weight: 500; color: var(--sun-ink); }
.report-body h3 { font-size: 17px; margin: 0 0 4px; }
@media (max-width: 640px) { .report-row { grid-template-columns: 1fr; gap: 10px; } }

/* Hakkımızda: Misyon/Vizyon .split bölümü, ana sayfadaki geniş
   section-head başlığından daha küçük bir başlık/lead ölçeği kullanır. */
.split h2 { font-family: var(--f-serif); font-size: clamp(24px, 2.6vw, 32px); margin: 14px 0 16px; }
.split .lead-sm { font-size: 16px; line-height: 1.55; color: var(--ink-2); }

/* Hizmetler: kod + ad + özet + fiyat/"Teklif al" satırlı kartlar */
.service-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin-top: 28px; }
.service-card {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px;
  background: var(--paper); border: 1px solid var(--rule); transition: box-shadow .18s, border-color .18s, transform .18s;
}
.service-card:hover { border-color: var(--ink); box-shadow: 0 18px 36px -22px rgba(22, 19, 15, .35); transform: translateY(-2px); }
.service-card h3 { font-family: var(--f-serif); font-size: 19px; line-height: 1.32; margin: 0; }
.service-card h3 a { text-decoration: none; }
.service-card h3 a::after { content: ""; position: absolute; inset: 0; }
.service-card:hover h3 a { color: var(--sun-ink); }
.service-card p { font-size: 14px; color: var(--ink-2); line-height: 1.5; margin: 0; }
.service-card p.tag { color: var(--sun-ink); font-weight: 600; }
.service-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--rule); }
.service-card-foot .btn { position: relative; z-index: 1; }
.service-code { font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; color: var(--ink-3); }
.service-price { font-family: var(--f-mono); font-size: 16px; font-weight: 600; color: var(--sun-ink); }
.service-price-unit { margin-left: 6px; font-size: .7em; font-weight: 400; color: var(--ink-3); }
.service-offer { margin-top: 28px; }
.service-price-lg { display: flex; flex-direction: column; gap: 4px; font-size: 30px; margin: 0; }
.service-price-lg small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); font-weight: 400; }

/* Hizmetler: satır (alt alta liste) görünümü */
.service-list { display: flex; flex-direction: column; margin-top: 28px; border-top: 1px solid var(--rule); }
.service-row {
  position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 24px; align-items: center;
  padding: 22px 16px; border-bottom: 1px solid var(--rule); transition: background .15s;
}
.service-row:hover { background: var(--paper-2); }
.service-row h3 { font-family: var(--f-serif); font-size: 19px; margin: 0 0 4px; }
.service-row h3 a { text-decoration: none; }
.service-row h3 a::after { content: ""; position: absolute; inset: 0; }
.service-row:hover h3 a { color: var(--sun-ink); }
.service-row p { font-size: 14px; color: var(--ink-2); margin: 0; }
.service-row p.tag { color: var(--sun-ink); font-weight: 600; margin-top: 4px; }
.service-row-offer { display: flex; align-items: center; gap: 16px; }
.service-row-offer .btn { position: relative; z-index: 1; }
.head-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
@media (max-width: 760px) { .service-row { grid-template-columns: 1fr; gap: 10px; } }

/* Formlar (form yönetimi uygulaması): tek sütunlu, tutarlı alan görünümü */
.form-page { max-width: 720px; }
.app-form { margin-top: 32px; display: flex; flex-direction: column; gap: 22px; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field > label { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.form-required { color: var(--flare); }
.app-form input[type="text"], .app-form input[type="email"], .app-form input[type="tel"], .app-form select, .app-form textarea {
  width: 100%; padding: 11px 14px; font: inherit; font-size: 15px; color: var(--ink);
  background: var(--paper); border: 1px solid var(--rule); transition: border-color .15s;
}
.app-form select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none; padding-right: 36px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%2316130F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 10px;
}
.app-form textarea { resize: vertical; min-height: 140px; }
.app-form input:hover, .app-form select:hover, .app-form textarea:hover,
.app-form input:focus, .app-form select:focus, .app-form textarea:focus { border-color: var(--ink); outline: none; }
.form-field-check label { display: flex; align-items: flex-start; gap: 10px; font-family: inherit; font-size: 14.5px; letter-spacing: 0; text-transform: none; color: var(--ink-2); cursor: pointer; }
.form-field-check input { margin-top: 3px; width: 16px; height: 16px; flex: none; accent-color: var(--sun); }
.form-help { font-size: 13px; color: var(--ink-3); margin: 0; }
/* Form: çoklu hizmet seçimi (aranabilir, kaydırılabilir onay kutusu listesi) */
.service-picker { border: 0; padding: 0; margin: 0; min-width: 0; }
.form-legend { padding: 0; margin-bottom: 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.app-form .service-picker-search { width: 100%; padding: 10px 12px; border: 1px solid var(--rule); background: var(--paper); font: inherit; }
.service-picker-list { max-height: 340px; overflow-y: auto; border: 1px solid var(--rule); background: var(--paper); padding: 4px 14px; }
.service-picker-list label { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--paper-3); font-size: 14.5px; color: var(--ink-2); cursor: pointer; }
.service-picker-list > div > div:last-child label { border-bottom: 0; }
.service-picker-list input { margin-top: 3px; width: 16px; height: 16px; flex: none; accent-color: var(--sun); }
.service-picker-list [hidden] { display: none; }
.form-error { font-size: 13.5px; color: var(--flare); font-weight: 600; margin: 0; }
.form-alert { padding: 12px 16px; border: 1px solid var(--flare); background: var(--paper-2); color: var(--flare); font-size: 14px; }
.form-alert p { margin: 0; }
.app-form .btn { align-self: flex-start; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* İletişim sayfası: harita yer tutucu + adres/telefon/e-posta listesi */
.contact-map { aspect-ratio: 4/3; }
.contact-info-list { display: flex; flex-direction: column; gap: 20px; margin-top: 28px; }
.contact-info-list li { display: flex; gap: 14px; align-items: flex-start; }
.contact-info-list svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--sun-ink); }
.contact-info-list strong { display: block; margin-bottom: 3px; }
.contact-info-list a { text-decoration: none; }
.contact-info-list a:hover { color: var(--sun-ink); }

/* İletişim: Cari bilgiler (ünvan, vergi dairesi, vergi kimlik no, DETSİS no) */
.billing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 16px 0 0; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.billing-grid > div { padding: 16px 20px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.billing-grid .billing-wide { grid-column: 1 / -1; }
.billing-grid dt { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
.billing-grid dd { margin: 0; font-family: var(--f-serif); font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.billing-grid .billing-number { font-family: var(--f-mono); font-size: 17px; letter-spacing: .04em; }

/* ---------- Doküman (PDF) galerisi ---------- */
/* Gömülü PDF: sayfa içinde okuyucu. Telefonlarda tarayıcılar PDF'yi çerçevede göstermediği için yalnızca düğmeler kalır. */
.doc-embed { margin: 16px 0 0; border: 1px solid var(--rule); background: var(--paper-2); }
.doc-embed + .doc-embed, .doc-embed + .doc-list { margin-top: 20px; }
.doc-embed-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 18px; border-bottom: 1px solid var(--rule); }
.doc-embed-head .doc-title { flex: 1 1 260px; }
.doc-embed-frame { display: block; width: 100%; height: min(82vh, 900px); border: 0; background: #fff; }
@media (max-width: 700px) { .doc-embed-frame { display: none; } .doc-embed-head { border-bottom: 0; } }
.doc-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; margin-top: 16px; }
.doc-card { display: flex; align-items: center; gap: 16px; padding: 16px 18px; background: var(--paper-2); border: 1px solid var(--rule); transition: border-color .2s, box-shadow .2s; }
.doc-card:hover { border-color: var(--ink); box-shadow: 0 12px 28px -22px rgba(22, 19, 15, .3); }
.doc-icon { flex: none; width: 34px; height: 34px; color: var(--sun-ink); }
.doc-body { flex: 1; min-width: 0; }
.doc-title { display: block; font-family: var(--f-serif); font-size: 16.5px; line-height: 1.3; overflow-wrap: anywhere; }
.doc-actions { display: flex; flex: none; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
/* Tek doküman: tam genişlikte, daha belirgin eylem kartı */
.doc-single { grid-template-columns: 1fr; }
.doc-single .doc-card { padding: 22px 24px; border-left: 4px solid var(--sun); }
.doc-single .doc-icon { width: 44px; height: 44px; }
.doc-single .doc-title { font-size: 19px; }
@media (max-width: 560px) {
  .doc-list { grid-template-columns: 1fr; }
  .doc-card { flex-wrap: wrap; }
  .doc-actions { width: 100%; justify-content: flex-start; }
}
.contact-map-live { background: var(--paper-2); border: 1px solid var(--rule); }
.contact-map-live iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Logolar sayfası ---------- */
.logo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px; }
.logo-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule); transition: border-color .2s, box-shadow .2s; }
.logo-card:hover { border-color: var(--ink); box-shadow: 0 14px 30px -22px rgba(22, 19, 15, .35); }
.logo-preview { display: grid; place-items: center; aspect-ratio: 16 / 9; padding: 28px; background: #fff; border-bottom: 1px solid var(--rule); }
.logo-preview.is-dark { background: var(--night); border-bottom-color: var(--night-rule); }
.logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.logo-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.logo-name { font-family: var(--f-serif); font-size: 19px; margin: 0; }
.logo-formats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.logo-formats .btn { gap: 8px; }
.logo-size { font-family: var(--f-mono); font-size: 11px; font-weight: 400; opacity: .7; margin-left: 2px; }
/* ---------- 404 sayfası ---------- */
.notfound { padding-top: clamp(40px, 7vw, 96px); padding-bottom: clamp(56px, 9vw, 120px); }
.notfound-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.notfound-code {
  font-family: var(--f-serif); font-weight: 700; line-height: .85; letter-spacing: -.04em;
  font-size: clamp(110px, 20vw, 260px); color: var(--sun);
  background: linear-gradient(160deg, var(--sun) 10%, var(--flare) 95%); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; user-select: none;
}
.notfound-body .statement-lead { max-width: 56ch; }
.notfound-links { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--rule); }
.notfound-links ul { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 14px; }
.notfound-links a { display: inline-block; padding: 7px 14px; border: 1px solid var(--rule); text-decoration: none; font-size: 14.5px; font-weight: 600; transition: border-color .2s, color .2s, background .2s; }
.notfound-links a:hover { border-color: var(--ink); color: var(--sun-ink); background: var(--paper-2); }
@media (max-width: 760px) {
  .notfound-grid { grid-template-columns: 1fr; }
  .notfound-code { font-size: clamp(96px, 34vw, 160px); }
}
.notfound-body .hero-actions { margin-top: 28px; }
