/* Statik içerik sayfaları (Pages/Santralcom, Pages/Kurumsal, Pages/BilgiKilavuzu)
   "ArticlePage" PageType'ından migrate edilen sayfalar.
   İçerik prod'dan birebir kopyalandığı için kendi class'larını kullanır
   (corporate-wrap, history-list, services-list, mar-contact-fix-t, vb.) —
   bu stiller wwwroot/css/style-2023.css ve site-media-*.css içinde tanımlı. */

/* Sidebar — aktif sayfa vurgusu.
   Server-side: Pages/Shared/_StaticGroupSidebar.cshtml partial Context.Request.Path'in
   son segment'ini sayfa slug'ı ile karşılaştırıp <li>'ye .active class'ı ekler.
   @ literal'ini önlemek için Razor'da `text@(var)` parens şart (bkz. Madde 9). */
.brand-nav-wrapper .standart-menu .main-nav__item.active .main-nav__link span {
    color: #173e62;
    font-weight: 700;
}

/* 2026-05-27 Madde 78: StaticPage LayoutMode wrapper'ları
   Sidebar dışı modlarda (FullWidth / Hero) sayfa içeriği header-altı row hiyerarşisi
   dışına çıkar — özgür, modern landing-tarzı görsel düzenleme yapılabilir. */

/* 2026-05-27 Madde 83: Yatay scroll engelle — şablon section'ları konteyneri aşmasın.
   Şablonlar ilk başta FullWidth/Hero modu için tasarlandı (1100-1280px max-width);
   Sidebar layout modunda parent (~720px) daha dar olduğunda taşma oluyordu. */
.cms-mainbody {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.cms-mainbody > * {
    box-sizing: border-box;
    max-width: 100%;
}

.cms-mainbody img {
    max-width: 100%;
    height: auto;
}

.static-page-fullwidth {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 16px 64px;
}

.static-page-fullwidth-title {
    margin: 0 0 24px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 12px;
}

.static-page-fullwidth-title h1 {
    margin: 0;
    font-size: 28px;
    color: #173e62;
    font-weight: 700;
}

.static-page-hero {
    width: 100%;
    margin: 0;
    padding: 0;
}

.static-page-hero .cms-mainbody-builder {
    width: 100%;
}

.cms-mainbody-builder {
    line-height: 1.6;
}

/* 2026-05-27 Madde 80: Şablon (IPageTemplate) sınıfları — render edilen statik HTML
   site tarafında bu class'larla styling alır. Her şablon kendi class prefix'ini
   kullanır (.pt-hero, .pt-2col, .pt-stats, .pt-features, .pt-footer-band). */

/* 2026-05-27 Madde 82: Sidebar layout modunda mainBody içeriği "modul-sep dark"
   wrapper'ının border-top'una bitişiyor — şablon hero/section başlangıçlarına nefes ver.
   FullWidth/Hero layout modunda dış wrapper kendi padding'ini verir, etkisiz. */
.cms-mainbody > .pt-hero:first-child,
.cms-mainbody > .pt-2col:first-child,
.cms-mainbody > .pt-stats:first-child,
.cms-mainbody > .pt-features:first-child,
.cms-mainbody > .pt-body:first-child {
    margin-top: 16px;
}

/* 2026-05-27 Madde 83: Tüm şablon section'ları box-sizing border-box + max-width:100%.
   Sidebar layout modunda (~720px) bile padding/border konteyneri zorlamasın. */
.pt-hero,
.pt-body,
.pt-stats,
.pt-2col,
.pt-features,
.pt-footer-band {
    box-sizing: border-box;
    max-width: 100%;
}

/* Hero (HeroBody / HeroStatsBody / HeroFeaturesFooter) */
.pt-hero {
    position: relative;
    background-color: #0f172a;
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 96px 24px;
    text-align: center;
    overflow: hidden;
}

.pt-hero--gradient {
    background-image: linear-gradient(135deg, #0891b2, #155e75);
}

.pt-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

.pt-hero__inner {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
}

.pt-hero__title {
    font-size: 44px;
    font-weight: 800;
    margin: 0 0 16px;
    line-height: 1.15;
    color: #fff;
}

.pt-hero__subtitle {
    font-size: 19px;
    opacity: 0.92;
    margin: 0 0 24px;
}

.pt-hero__cta {
    display: inline-block;
    background: #fff;
    color: #0891b2;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.15s, box-shadow 0.15s;
}

.pt-hero__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    text-decoration: none;
}

/* Body — şablon altı zengin metin alanı */
.pt-body {
    max-width: 880px;
    margin: 0 auto;
    padding: 48px 24px;
    line-height: 1.75;
    font-size: 16px;
}

.pt-body h2 { font-size: 28px; margin: 32px 0 16px; color: #173e62; }
.pt-body h3 { font-size: 22px; margin: 24px 0 12px; color: #1e293b; }
.pt-body p { margin: 0 0 16px; }
.pt-body ul, .pt-body ol { margin: 0 0 16px; padding-left: 24px; }
.pt-body img { max-width: 100%; height: auto; }

/* Stats (HeroStatsBody) */
.pt-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    max-width: 980px;
    margin: -40px auto 0;
    padding: 0 16px;
    position: relative;
    z-index: 1;
}

.pt-stats > * { min-width: 0; }

.pt-stat {
    background: #fff;
    padding: 28px 18px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    text-align: center;
}

.pt-stat__value {
    font-size: 36px;
    font-weight: 800;
    color: #0891b2;
    line-height: 1;
}

.pt-stat__label {
    margin-top: 8px;
    color: #64748b;
    font-size: 14px;
}

/* 2-Sütun (TwoColumnTextImage) */
.pt-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
    max-width: 1200px;
    margin: 48px auto;
    padding: 0 24px;
}

/* Grid item'ların min-width:auto default'u uzun string'lerle taşmaya neden olabilir */
.pt-2col > * {
    min-width: 0;
}

.pt-2col__title {
    font-size: 32px;
    color: #173e62;
    margin: 0 0 20px;
}

.pt-2col__body {
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

.pt-2col__cta {
    display: inline-block;
    background: #0891b2;
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
}

.pt-2col__image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

/* Features (HeroFeaturesFooter) */
.pt-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 64px auto;
    padding: 0 16px;
}

.pt-features > * { min-width: 0; }

.pt-feature {
    background: #fff;
    padding: 32px 24px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    text-align: center;
    /* Madde 82: Flex column → CTA alt'a sabitlenir, kart yükseklikleri grid ile eşitlenir. */
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pt-feature__icon {
    font-size: 36px;
    margin-bottom: 12px;
}

.pt-feature__title {
    font-size: 18px;
    color: #173e62;
    margin: 0 0 8px;
}

.pt-feature__desc {
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    /* CTA varsa onunla arasında boşluk bıraksın */
    flex: 1;
}

/* Madde 82: Kart-bazlı CTA buton */
.pt-feature__cta {
    display: inline-block;
    margin-top: 16px;
    background: #0891b2;
    color: #fff;
    padding: 10px 22px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: background 0.15s, transform 0.15s;
}

.pt-feature__cta:hover {
    background: #0e7490;
    transform: translateY(-1px);
    text-decoration: none;
    color: #fff;
}

/* Footer band */
.pt-footer-band {
    background: #1e293b;
    color: #cbd5e1;
    padding: 32px 24px;
    text-align: center;
    margin-top: 48px;
}

.pt-footer-band__title {
    color: #fff;
    font-weight: 700;
    margin: 0 0 6px;
}

.pt-footer-band__text {
    margin: 0;
    opacity: 0.75;
    font-size: 13px;
}

/* Responsive */
@media (max-width: 768px) {
    .pt-stats,
    .pt-features,
    .pt-2col {
        grid-template-columns: 1fr;
    }

    .pt-hero { padding: 60px 20px; }
    .pt-hero__title { font-size: 32px; }
    .pt-2col { margin: 24px auto; }
}

/* 2026-09-07 / Madde 15: /biz/banka-hesap-bilgilerimiz — API'den gelen banka hesap tablosu. */
.banka-hesap-wrap { overflow-x: auto; }
.banka-hesap-table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
    font-size: 14px;
}
.banka-hesap-table th,
.banka-hesap-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e2e6ea;
    text-align: left;
    vertical-align: middle;
}
.banka-hesap-table thead th {
    background-color: #173e62;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}
.banka-hesap-table tbody tr:nth-child(even) { background-color: #f6f8fa; }
.banka-hesap-table .banka-iban {
    font-family: "Courier New", monospace;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
@media (max-width: 600px) {
    .banka-hesap-table thead { display: none; }
    .banka-hesap-table, .banka-hesap-table tbody, .banka-hesap-table tr, .banka-hesap-table td { display: block; width: 100%; }
    .banka-hesap-table tr { margin-bottom: 12px; border: 1px solid #e2e6ea; border-radius: 6px; overflow: hidden; }
    .banka-hesap-table td { border-bottom: 1px solid #eef1f4; }
    .banka-hesap-table td::before {
        content: attr(data-label) ": ";
        font-weight: 600;
        color: #173e62;
        display: inline-block;
        min-width: 90px;
    }
    .banka-hesap-table .banka-iban { white-space: normal; word-break: break-all; }
}
