/* Alt sayfalar (P07–P15) — D-017 önizleme yerleşimi, D-018 ile uygulamaya alındı. Mevcut token/bileşen dili. */

/* Kısa başlık sahnesi (MASTER 02 liste başlığının dili) */
.pg-hero { position: relative; min-height: 300px; color: #fff; overflow: hidden; }
.pg-hero-media { position: absolute; inset: 0; }
.pg-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10, 12, 14, 0.82) 0%, rgba(10, 12, 14, 0.45) 55%, rgba(10, 12, 14, 0.15) 85%); }
.pg-hero-content { z-index: 2; }
.pg-hero.is-plain { min-height: 0; background: var(--tt-anthracite); }
.pg-hero.is-plain::before { display: none; }
.pg-hero-content { position: relative; padding-block: 64px 56px; }
.pg-hero h1 { margin-top: 12px; max-width: 13em; font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 700; line-height: 1.05; letter-spacing: var(--tt-track-tight); }
.pg-hero p.lead { margin-top: 14px; max-width: 36em; font-size: 1.25rem; }
.pg-hero.is-short { min-height: 220px; }

.pg-section { padding-block: 64px; }
.pg-section.is-soft { background: var(--tt-soft); }
.pg-h2 { font-size: var(--tt-fs-h2); font-weight: 700; letter-spacing: var(--tt-track-tight); line-height: 1.1; }
.pg-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.pg-two .asset-pending, .pg-two-img { aspect-ratio: 16 / 10; border-radius: var(--tt-radius); }
.pg-text-wide { max-width: 60em; }
.pg-faq-cat { margin: 34px 0 6px; font-size: 1.25rem; font-weight: 700; }
.pg-faq .answer p + p { margin-top: 10px; }
.pg-success { margin-top: 16px; padding: 12px 14px; border-radius: var(--tt-radius); background: #f1faf4; border: 1px solid #b9dfc6; color: #1e6b3a; font-weight: 600; }
/* İletişim haritası (v3, D-022): iki sütun genişliğinde, 450 px. */
.pg-map-embed { position: relative; margin: 28px 0 0; }
.pg-map-embed iframe { display: block; width: 100%; height: 450px; border: 0; border-radius: var(--tt-radius); background: #e7e8ea; }
.pg-map-embed figcaption { margin-top: 10px; font-size: 0.9375rem; }
.pg-map-embed figcaption a { color: var(--tt-ink-2); }
/* D-028: gömülü harita yerine aynı 450 px alanda adres + dış bağlantı (sabit yükseklik yalnız masaüstü/tablet). */
.pg-map-link { display: grid; place-items: center; min-height: 450px; padding: 40px 24px; border-radius: var(--tt-radius); background: #e7e8ea; text-align: center; }
.pg-map-inner { max-width: 640px; }
.pg-map-inner .pg-h2 { margin: 0; }
.pg-map-address { margin: 14px 0 24px; color: var(--tt-ink); font-size: 1.25rem; line-height: 1.5; }
.pg-map-note { margin-top: 18px; color: var(--tt-ink-2); font-size: 0.9375rem; line-height: 1.5; }
.pg-map-note a { color: var(--tt-ink); }
@media (max-width: 767px) { .pg-map-link { min-height: 0; padding: 32px 18px; } .pg-map-link .btn { width: 100%; } }
/* D-033: tıkla-yükle harita. Onay öncesi aynı kutu (adres + düğmeler); onay sonrası harita aynı alanı doldurur. */
.pg-map-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 24px 0 0; }
.pg-map-has-embed .pg-map-address { margin-bottom: 0; }
.pg-map-embed.is-loaded { display: block; min-height: 0; padding: 0; background: transparent; text-align: left; }
.pg-map-embed.is-loaded iframe { width: 100%; max-width: 100%; height: 450px; }
.pg-map-caption { margin-top: 10px; color: var(--tt-ink-2); font-size: 0.9375rem; line-height: 1.5; }
.pg-map-caption a { color: var(--tt-ink); }
@media (max-width: 767px) { .pg-map-actions { display: grid; gap: 12px; } }
.pg-info a { color: #fff; }
.pg-doc h3 { margin-top: 24px; font-size: 1.1875rem; }
.pg-text { margin-top: 18px; color: var(--tt-ink-2); font-size: 1.125rem; line-height: 1.6; }
.pg-text p + p { margin-top: 12px; }

.pg-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.pg-card { position: relative; padding: 34px 28px 30px; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); }
.pg-card::before { content: ""; position: absolute; left: 28px; top: 0; width: 56px; height: 3px; background: var(--tt-red); }
.pg-card h3 { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.pg-card p { margin-top: 10px; color: var(--tt-ink-2); font-size: 1.0625rem; }

/* Süreç adımları (ana sayfa teklif bandının dili) */
.pg-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 34px 0 0; padding: 0; list-style: none; counter-reset: s; }
.pg-steps li { padding: 26px 22px; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); counter-increment: s; }
.pg-steps li::before { content: counter(s); display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--tt-red); color: var(--tt-on-accent); font-weight: 700; box-shadow: 0 0 0 6px rgba(253, 87, 0, 0.14); }
.pg-steps h3 { margin-top: 18px; font-size: 1.1875rem; font-weight: 700; }
.pg-steps p { margin-top: 6px; color: var(--tt-ink-2); }
.pg-steps .tag { display: inline-block; margin-top: 10px; padding: 2px 10px; border-radius: 999px; background: var(--tt-soft); color: var(--tt-ink-2); font-size: 0.875rem; }

/* İletişim */
/* v3 (D-022): iki panel aynı üst ve alt çizgide; yükseklik sabit değil, uzayan forma sol panel de uyar. */
.pg-contact { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 28px; align-items: stretch; }
.pg-info { padding: 30px; background: var(--tt-anthracite); color: #fff; border-radius: var(--tt-radius); }
/* v4 (D-024): sağ alt köşeye oturan dekoratif çapraz kuşak — logonun kırmızısından koyu bordoya. Yalnız CSS, panel
   içinde (overflow), metnin altında kalır: panelin altında kuşak yüksekliği kadar boşluk ayrılır, metin üst katmanda. */
.pg-info { --band-w: 430px; --band-h: 170px; position: relative; overflow: hidden; isolation: isolate; padding-bottom: calc(30px + var(--band-h)); }
.pg-info > * { position: relative; z-index: 1; }
.pg-info::before, .pg-info::after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 0; width: min(100%, var(--band-w)); height: var(--band-h); pointer-events: none; }
/* Ana kuşak: köşegene paralel iki kenar (polygon), soldan sağa turuncu → koyu turuncu */
.pg-info::after { background: linear-gradient(115deg, #fd5700 0%, #c84500 48%, #682400 100%); clip-path: polygon(34% 100%, 100% 22%, 100% 56%, 63% 100%); }
/* İnce eşlik eden bordo şerit */
.pg-info::before { background: #7a0b16; clip-path: polygon(70% 100%, 100% 64%, 100% 74%, 79% 100%); }
.pg-info dl { margin: 18px 0 0; }
.pg-info dt { margin-top: 18px; color: var(--tt-on-dark-muted); font-size: 0.9375rem; }
.pg-info dd { margin: 4px 0 0; font-size: 1.125rem; }
.pg-info .btn { margin-top: 24px; }
.pg-form { padding: 30px; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); }
.pg-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pg-field { margin-top: 16px; }
.pg-field label { display: block; margin-bottom: 6px; font-size: 1rem; font-weight: 600; }
.pg-field input, .pg-field textarea { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #d9dadd; border-radius: var(--tt-radius); font: 400 1rem var(--tt-font); }
.pg-field textarea { height: 140px; padding: 12px 14px; resize: vertical; }
.pg-field .hint { margin-top: 4px; color: var(--tt-muted); font-size: 0.875rem; }
.pg-form .btn { margin-top: 20px; min-width: 220px; }
.pg-map { display: grid; place-items: center; margin-top: 28px; height: 300px; border-radius: var(--tt-radius); background: #e7e8ea; color: var(--tt-muted); text-align: center; padding: 20px; }

/* SSS */
.pg-faq-tools { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: end; }
.pg-faq-tools input { width: 100%; height: 56px; padding: 0 18px; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); font: 400 1.0625rem var(--tt-font); }
.pg-faq { margin-top: 24px; border-top: 1px solid var(--tt-line); }
.pg-faq details { border-bottom: 1px solid var(--tt-line); }
.pg-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 4px; font-size: 1.1875rem; font-weight: 600; cursor: pointer; list-style: none; }
.pg-faq summary::-webkit-details-marker { display: none; }
.pg-faq summary::after { content: "+"; color: var(--tt-red); font-size: 1.5rem; line-height: 1; }
.pg-faq details[open] summary::after { content: "−"; }
.pg-faq .answer { padding: 0 4px 22px; color: var(--tt-ink-2); font-size: 1.0625rem; max-width: 60em; }

/* Politika okuma şablonu */
.pg-read { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 56px; justify-content: center; }
.pg-toc { position: sticky; top: 24px; padding: 20px; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); font-size: 0.9375rem; }
.pg-toc p { font-weight: 700; }
.pg-toc a { display: block; padding: 6px 0; color: var(--tt-ink-2); text-decoration: none; }
.pg-toc a:hover { color: var(--tt-red-text); }
.pg-doc h2 { margin-top: 36px; font-size: 1.5rem; font-weight: 700; }
.pg-doc p { margin-top: 12px; color: var(--tt-ink-2); font-size: 1.0625rem; line-height: 1.7; }
.pg-legal-links { margin-top: 48px; padding-top: 8px; border-top: 1px solid var(--tt-line); }
.pg-legal-links ul { margin-top: 12px; }
.pg-legal-links li { padding: 4px 0; }
.pg-legal-links a { color: var(--tt-ink-2); font-size: 1.0625rem; }
.pg-legal-links a:hover { color: var(--tt-red-text); }
.pg-version { margin-top: 10px; color: var(--tt-on-dark-muted); font-size: 1rem; }

/* 404 */
.pg-404 { display: grid; place-items: center; padding-block: 96px 110px; text-align: center; background: var(--tt-soft); }
.pg-404 .code { color: var(--tt-red-text); font-size: 0.9375rem; font-weight: 800; letter-spacing: 0.22em; }
.pg-404 h1 { margin-top: 14px; font-size: clamp(2.25rem, 4vw, 3.25rem); font-weight: 700; letter-spacing: var(--tt-track-tight); }
.pg-404 p { margin-top: 12px; color: var(--tt-ink-2); font-size: 1.125rem; }
.pg-404 .actions { display: flex; justify-content: center; gap: 14px; margin-top: 28px; flex-wrap: wrap; }

@media (max-width: 1023px) {
  .pg-two, .pg-contact, .pg-faq-tools, .pg-read { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pg-cards { grid-template-columns: minmax(0, 1fr); }
  .pg-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-toc { position: static; }
}
@media (max-width: 767px) {
  .pg-section { padding-block: 44px; }
  .pg-hero-content { padding-block: 44px 40px; }
  .pg-hero p.lead { font-size: 1.0625rem; }
  .pg-steps { grid-template-columns: minmax(0, 1fr); }
  .pg-form, .pg-info { padding: 22px 18px; }
  .pg-info { --band-w: 260px; --band-h: 96px; padding-bottom: calc(22px + var(--band-h)); }
  .pg-form .row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pg-form .btn { width: 100%; }
  .pg-faq summary { font-size: 1.0625rem; }
}

.form-alert { margin-top: 12px; padding: 10px 14px; border-radius: var(--tt-radius); background: var(--tt-danger-soft); color: #9b0a12; }
.field-error { margin-top: 4px; color: #b00710; font-size: 0.875rem; font-weight: 500; }
.has-error input, .has-error textarea { border-color: #b00710; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
