/* =========================================================================
   KAYTAŞ — Müşteri ekranları
   Üst bilgi, fiyat bülteni, oturum ekranları, hata sayfası, yazdırma.
   kaytas.css'ten SONRA yüklenmelidir.
   ========================================================================= */

/* Metronic'in sayfa kabuğunu bizim düzenimizle çakışmayacak hale getir */
#kt_content { padding: 0 !important; }
.toolbar { display: none !important; }

.kt-page {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

.kt-main { flex: 1 0 auto; }

/* =========================================================================
   Üst bilgi
   ========================================================================= */

.kt-topbar {
    position: sticky;
    top: 0;
    z-index: var(--kt-z-sticky);
    background: var(--kt-surface);
    border-bottom: 1px solid var(--kt-line);
    transition: box-shadow var(--kt-dur-2) var(--kt-ease);
}

/* Sayfa kaydırıldığında üst bilgi içerikten ayrışsın — durum bildiren hareket */
.kt-topbar[data-stuck="true"] { box-shadow: var(--kt-shadow); }

.kt-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kt-s4);
    min-height: 64px;
    padding-block: var(--kt-s2);
}

.kt-topbar__brand {
    display: inline-flex;
    align-items: center;
    gap: var(--kt-s3);
    min-width: 0;
    color: var(--kt-ink);
}

.kt-topbar__brand:hover { color: var(--kt-ink); }

.kt-topbar__brand img {
    height: 40px;
    width: auto;
    flex: none;
}

.kt-topbar__co {
    font-size: var(--kt-fs-xs);
    font-weight: 550;
    color: var(--kt-muted);
    line-height: 1.35;
    max-width: 22ch;
    padding-inline-start: var(--kt-s3);
    border-inline-start: 1px solid var(--kt-line);
}

@media (max-width: 575.98px) {
    .kt-topbar__co { display: none; }
    .kt-topbar__brand img { height: 40px; }
}

/* Gezinme — iki hâl: bu hafta / geçmiş */
.kt-nav {
    display: flex;
    align-items: center;
    gap: var(--kt-s1);
    flex: none;
}

.kt-nav__link {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 var(--kt-s3);
    border-radius: var(--kt-r-sm);
    font-size: var(--kt-fs-sm);
    font-weight: 600;
    color: var(--kt-ink-2);
    white-space: nowrap;
    transition: background-color var(--kt-dur-1) var(--kt-ease),
                color var(--kt-dur-1) var(--kt-ease);
}

.kt-nav__link:hover {
    background: var(--kt-surface-2);
    color: var(--kt-ink);
}

.kt-nav__link[aria-current="page"] {
    color: var(--kt-brand);
    background: var(--kt-brand-050);
}

/* Dokunmatik girdide hedefler 44px'in altına inmemeli */
@media (pointer: coarse) {
    .kt-nav__link { min-height: 44px; }
    .kt-topbar__brand { padding-block: var(--kt-s2); }
}

/* 320px sınıfı ekranlarda marka ile gezinme çakışmasın */
@media (max-width: 359.98px) {
    .kt-nav__link { padding-inline: var(--kt-s2); font-size: var(--kt-fs-xs); }
    .kt-topbar__brand img { height: 22px; }
}

/* Kabuk içindeki bildirimler içerikten önce nefes alsın */
.kt-container > .alert { margin-top: var(--kt-s5); margin-bottom: 0; }

/* =========================================================================
   Fiyat bülteni
   ========================================================================= */

.kt-bulletin {
    margin-block: var(--kt-s5) var(--kt-s7);
    background: var(--kt-surface);
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
    box-shadow: var(--kt-shadow);
    overflow: hidden;
}

@media (min-width: 768px) {
    .kt-bulletin { margin-block: var(--kt-s6) var(--kt-s8); }
}

/* --- Künye: belgeyi tanımlayan lacivert bant ---------------------------- */

.kt-bulletin__head {
    background: var(--kt-brand);
    color: var(--kt-on-brand);
    padding: var(--kt-s5) var(--kt-s4);
}

@media (min-width: 768px) {
    .kt-bulletin__head { padding: var(--kt-s6) var(--kt-s6) var(--kt-s5); }
}

.kt-bulletin__title {
    font-size: var(--kt-fs-md);
    font-weight: 600;
    color: oklch(0.905 0.045 277);
    letter-spacing: -0.005em;
    margin: 0 0 var(--kt-s2);
}

/* Geçerlilik dönemi sayfanın en belirgin metnidir — fiyattan hemen sonra
   kullanıcının sorduğu ikinci soru budur. */
.kt-bulletin__period {
    display: block;
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: var(--kt-on-brand);
    font-variant-numeric: tabular-nums;
    margin: 0;
    text-wrap: balance;
}

@media (min-width: 768px) {
    .kt-bulletin__period { font-size: 2.125rem; }
}

.kt-bulletin__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--kt-s3);
    margin-top: var(--kt-s4);
}

/* Lacivert zeminde çip — gri metin soluk kalır, zeminin kendi tonunu kullan */
.kt-bulletin__meta .kt-chip {
    color: var(--kt-on-brand);
    background: oklch(1 0 0 / 0.14);
    border-color: oklch(1 0 0 / 0.24);
}

.kt-bulletin__meta .kt-chip--live::before { background: oklch(0.86 0.19 150); }

.kt-bulletin__updated {
    font-size: var(--kt-fs-sm);
    font-weight: 500;
    color: oklch(0.905 0.045 277);
}

/* Yazdır — bülteni kâğıda ya da PDF'e almak bu ekranın gerçek işlerinden */
.kt-bulletin__print {
    margin-inline-start: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--kt-s2);
    min-height: 38px;
    padding: 0 var(--kt-s3);
    border-radius: var(--kt-r-sm);
    border: 1px solid oklch(1 0 0 / 0.28);
    background: oklch(1 0 0 / 0.10);
    color: var(--kt-on-brand);
    font-family: var(--kt-font);
    font-size: var(--kt-fs-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background-color var(--kt-dur-1) var(--kt-ease),
                border-color var(--kt-dur-1) var(--kt-ease);
}

.kt-bulletin__print:hover {
    background: oklch(1 0 0 / 0.20);
    border-color: oklch(1 0 0 / 0.42);
    color: var(--kt-on-brand);
}

.kt-bulletin__print:focus-visible {
    outline: 2px solid var(--kt-on-brand);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .kt-bulletin__print { display: none; }
}

/* --- Fiyat tablosu ------------------------------------------------------ */

.kt-prices {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-variant-numeric: tabular-nums;
}

.kt-prices th,
.kt-prices td {
    padding: var(--kt-s3) var(--kt-s4);
    text-align: end;
    vertical-align: middle;
}

.kt-prices th:first-child,
.kt-prices td:first-child {
    text-align: start;
    padding-inline-start: var(--kt-s4);
}

@media (min-width: 768px) {
    .kt-prices th,
    .kt-prices td { padding: var(--kt-s4) var(--kt-s5); }

    .kt-prices th:first-child,
    .kt-prices td:first-child { padding-inline-start: var(--kt-s6); }

    .kt-prices th:last-child,
    .kt-prices td:last-child { padding-inline-end: var(--kt-s6); }

    /* Geniş ekranda fiyatlar sağda kümelensin; ürün adı boşluğu emsin.
       Aksi hâlde iki rakam sütunu birbirinden kopup okunaksızlaşıyor. */
    .kt-prices th:nth-child(2), .kt-prices td:nth-child(2),
    .kt-prices th:nth-child(3), .kt-prices td:nth-child(3) { width: 190px; }
}

.kt-prices thead th {
    font-size: var(--kt-fs-xs);
    font-weight: 650;
    color: var(--kt-ink-2);
    letter-spacing: 0.01em;
    background: var(--kt-surface-2);
    border-bottom: 1px solid var(--kt-line);
    white-space: nowrap;
}

.kt-prices tbody tr { transition: background-color var(--kt-dur-1) var(--kt-ease); }
.kt-prices tbody tr:hover { background: var(--kt-brand-050); }
.kt-prices tbody td { border-bottom: 1px solid var(--kt-line-soft); }
.kt-prices tbody tr:last-child td { border-bottom: 0; }

.kt-prices__name {
    font-size: var(--kt-fs-md);
    font-weight: 600;
    color: var(--kt-ink);
    letter-spacing: -0.01em;
}

/* KDV'siz: referans değer, ikincil */
.kt-prices__net {
    font-size: var(--kt-fs-base);
    font-weight: 500;
    color: var(--kt-ink-2);
    white-space: nowrap;
}

/* KDV'li: müşterinin ödediği rakam. Sayfadaki en okunaklı veri bu olmalı. */
.kt-prices__gross {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kt-ink);
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.kt-prices__cur {
    font-size: 0.8em;
    font-weight: 550;
    color: var(--kt-muted);
    margin-inline-start: 0.15em;
}

@media (max-width: 575.98px) {
    .kt-prices th,
    .kt-prices td { padding: var(--kt-s3) var(--kt-s2); }

    .kt-prices th:first-child,
    .kt-prices td:first-child { padding-inline-start: var(--kt-s4); }

    .kt-prices th:last-child,
    .kt-prices td:last-child { padding-inline-end: var(--kt-s4); }

    .kt-prices__name { font-size: var(--kt-fs-base); }
    .kt-prices__net { font-size: var(--kt-fs-sm); }
    .kt-prices__gross { font-size: var(--kt-fs-md); }
}

/* --- Dipnot ------------------------------------------------------------- */

.kt-bulletin__note {
    display: flex;
    gap: var(--kt-s2);
    margin: 0;
    padding: var(--kt-s4);
    border-top: 1px solid var(--kt-line);
    background: var(--kt-surface-2);
    color: var(--kt-ink-2);
    font-size: var(--kt-fs-sm);
}

@media (min-width: 768px) {
    .kt-bulletin__note { padding: var(--kt-s4) var(--kt-s6); }
}

/* =========================================================================
   Arşiv — haftalara göre gruplanmış geçmiş listeler
   ========================================================================= */

.kt-archive { margin-block: var(--kt-s5) var(--kt-s7); }

.kt-archive__intro {
    margin-bottom: var(--kt-s5);
}

.kt-archive__intro h1 {
    font-size: var(--kt-fs-xl);
    margin: 0 0 var(--kt-s2);
}

.kt-archive__intro p {
    margin: 0;
    color: var(--kt-ink-2);
    font-size: var(--kt-fs-base);
    max-width: 62ch;
}

/* Arama — sunucu tarafı, JavaScript olmadan da çalışır */
.kt-archive__search {
    display: flex;
    flex-wrap: wrap;
    gap: var(--kt-s2);
    margin-bottom: var(--kt-s5);
}

.kt-archive__search-field {
    position: relative;
    /* Kısa bir ürün adı için sayfa genişliğinde bir girdi alanı gereksiz. */
    flex: 1 1 240px;
    max-width: 380px;
    min-width: 0;
}

/* Girdi ve düğme aynı yükseklikte hizalansın */
.kt-archive__search .form-control,
.kt-archive__search .btn {
    height: 46px;
    min-height: 46px;
}

.kt-archive__search-icon {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0.875rem;
    transform: translateY(-50%);
    color: var(--kt-muted);
    pointer-events: none;
}

.kt-archive__search-field .form-control {
    padding-inline-start: 2.5rem;
    width: 100%;
}

/* Safari'nin kendi temizleme düğmesi bizim düzenimizi bozuyor */
.kt-archive__search-field input[type="search"]::-webkit-search-decoration,
.kt-archive__search-field input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.kt-archive__result {
    margin: 0 0 var(--kt-s4);
    font-size: var(--kt-fs-sm);
    color: var(--kt-ink-2);
}

.kt-archive__result strong { color: var(--kt-ink); }

.kt-archive .kt-empty {
    background: var(--kt-surface);
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
    box-shadow: var(--kt-shadow-sm);
}

.kt-week {
    background: var(--kt-surface);
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
    box-shadow: var(--kt-shadow-sm);
    overflow: hidden;
}

.kt-week + .kt-week { margin-top: var(--kt-s4); }

.kt-week__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--kt-s3);
    padding: var(--kt-s4);
    border-bottom: 1px solid var(--kt-line);
}

@media (min-width: 768px) {
    .kt-week__head { padding: var(--kt-s4) var(--kt-s6); }
}

.kt-week__period {
    margin: 0;
    font-size: var(--kt-fs-md);
    font-weight: 650;
    color: var(--kt-ink);
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}

.kt-week__count {
    margin-inline-start: auto;
    font-size: var(--kt-fs-sm);
    color: var(--kt-muted);
    font-variant-numeric: tabular-nums;
}

/* Güncel hafta arşivde de ayrışsın */
.kt-week--current { border-color: var(--kt-brand-100); }
.kt-week--current .kt-week__head { background: var(--kt-brand-050); }
.kt-week--current .kt-week__period { color: var(--kt-brand); }

/* =========================================================================
   Alt bilgi
   ========================================================================= */

.kt-footer {
    flex: none;
    margin-top: auto;
    border-top: 1px solid var(--kt-line);
    background: var(--kt-surface);
}

.kt-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--kt-s3);
    padding-block: var(--kt-s5);
    font-size: var(--kt-fs-sm);
    color: var(--kt-muted);
}

.kt-footer__co {
    margin: 0;
    max-width: 50ch;
    line-height: 1.5;
}

.kt-footer__co a { color: var(--kt-ink-2); font-weight: 600; }
.kt-footer__co a:hover { color: var(--kt-brand); }

/* =========================================================================
   Oturum ekranları (giriş, şifre, kayıt)
   ========================================================================= */

.kt-auth {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--kt-s5) var(--kt-s4) var(--kt-s7);
    background: var(--kt-bg);
}

/* Bültendeki lacivert künye motifi burada da sürsün */
.kt-auth::before {
    content: "";
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    height: 4px;
    background: var(--kt-brand);
    z-index: var(--kt-z-sticky);
}

.kt-auth__logo {
    display: block;
    margin-bottom: var(--kt-s5);
}

.kt-auth__logo img { height: 40px; width: auto; }

.kt-auth__card {
    width: 100%;
    max-width: 420px;
    background: var(--kt-surface);
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
    box-shadow: var(--kt-shadow);
    padding: var(--kt-s5);
}

@media (min-width: 576px) {
    .kt-auth__card { padding: var(--kt-s6); }
}

.kt-auth__card--wide { max-width: 720px; }

.kt-auth__head { margin-bottom: var(--kt-s5); }

.kt-auth__head h1 {
    font-size: var(--kt-fs-xl);
    font-weight: 700;
    margin: 0 0 var(--kt-s2);
}

.kt-auth__head p {
    margin: 0;
    font-size: var(--kt-fs-base);
    color: var(--kt-ink-2);
}

.kt-field { margin-bottom: var(--kt-s4); }

.kt-field__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--kt-s3);
    margin-bottom: var(--kt-s2);
}

.kt-field__row .form-label { margin-bottom: 0; }

.kt-field__link {
    font-size: var(--kt-fs-sm);
    font-weight: 600;
    color: var(--kt-brand);
}

/* Doğrulama kodu */
.kt-captcha {
    display: flex;
    align-items: stretch;
    gap: var(--kt-s3);
}

.kt-captcha img {
    height: 46px;
    width: auto;
    flex: none;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r);
    background: var(--kt-surface-2);
}

.kt-captcha .form-control { flex: 1; min-width: 0; }

.kt-auth__actions {
    display: flex;
    flex-direction: column;
    gap: var(--kt-s3);
    margin-top: var(--kt-s5);
}

.kt-auth__actions .btn { width: 100%; }

.kt-auth__foot {
    margin: var(--kt-s5) 0 0;
    text-align: center;
    font-size: var(--kt-fs-sm);
    color: var(--kt-ink-2);
}

.kt-auth__hint {
    display: block;
    margin-top: var(--kt-s2);
    font-size: var(--kt-fs-sm);
    color: var(--kt-muted);
}

.kt-grid-2 {
    display: grid;
    gap: var(--kt-s4);
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* =========================================================================
   Hata sayfası
   ========================================================================= */

.kt-error {
    /* Kabuğun içinde yaşar: üst ve alt bilgi zaten yükseklik kaplıyor. */
    min-height: 58vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--kt-s6) var(--kt-s4);
    background: var(--kt-bg);
}

.kt-error__code {
    display: inline-block;
    font-size: var(--kt-fs-sm);
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    color: var(--kt-brand);
    background: var(--kt-brand-050);
    border: 1px solid var(--kt-brand-100);
    border-radius: var(--kt-r-pill);
    padding: 0.25rem 0.75rem;
    margin-bottom: var(--kt-s4);
}

.kt-error h1 {
    font-size: var(--kt-fs-xl);
    margin: 0 0 var(--kt-s3);
}

.kt-error p {
    margin: 0 auto var(--kt-s2);
    max-width: 52ch;
    color: var(--kt-ink-2);
    font-size: var(--kt-fs-base);
}

.kt-error__detail {
    margin-top: var(--kt-s4);
    padding: var(--kt-s3) var(--kt-s4);
    background: var(--kt-surface-2);
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r);
    font-size: var(--kt-fs-sm);
    color: var(--kt-ink-2);
    word-break: break-all;
    text-align: start;
    max-width: 52ch;
}

.kt-error__actions { margin-top: var(--kt-s5); }

/* =========================================================================
   Yazdırma — bülten kâğıtta da geçerli bir belge olmalı
   ========================================================================= */

@media print {
    .kt-topbar,
    .kt-footer,
    .kt-nav,
    .kt-bulletin__print,
    .scrolltop,
    #modal-container { display: none !important; }

    body, body#kt_body { background: #fff; }

    .kt-bulletin {
        border: 1px solid #999;
        border-radius: 0;
        box-shadow: none;
        margin: 0;
        break-inside: avoid;
    }

    .kt-bulletin__head {
        background: #fff !important;
        color: #000 !important;
        border-bottom: 2px solid #000;
        padding: 0 0 12pt;
    }

    .kt-bulletin__title,
    .kt-bulletin__period,
    .kt-bulletin__updated { color: #000 !important; }

    .kt-bulletin__meta .kt-chip {
        color: #000 !important;
        background: transparent !important;
        border-color: #000 !important;
    }

    .kt-prices thead th { background: #fff !important; border-bottom: 1px solid #000; }
    .kt-prices tbody td { border-bottom: 1px solid #ccc; }
    .kt-prices__gross, .kt-prices__name { color: #000 !important; }
    .kt-bulletin__note { background: #fff !important; }

    a[href]::after { content: ""; }
}
