﻿/*
 * Bülten kutusu — Kozmoz724 modern tasarım (2026-10)
 *
 * Orijinali 2016 tarihli SevenSpikes stiliydi: Droid Serif italik, çift çizgili
 * başlık, kutunun DIŞINDA (right:-43px) duran PNG kapatma düğmesi, sabit 700px
 * genişlik, yuvarlatma/gölge yok, karanlık mod yok.
 *
 * ÖNEMLİ KISIT — eklenti JS'i jQuery fadeIn/fadeOut kullanıyor; bu, overlay'e
 * satır içi `display: block` yazar. Bu yüzden overlay ORTALAMA İÇİN flex
 * KULLANAMAZ, jQuery onu ezer. Kart, overlay içinde absolute + translate ile
 * ortalanıyor.
 *
 * Bu dosya sayfanın sonunda ayrı bir <link> ile yükleniyor, yani tema paketinden
 * SONRA geliyor; eşit özgüllükte bu dosyanın kuralları kazanır. Yine de kurallar
 * .newsletter-subscribe-popup-overlay altına kapsanmış durumda ki temanın
 * .newsletter-* kurallarıyla çakışmasın.
 */

/*
 * KALDIRILDI — `.footer-1 .newsletter-subscribe { display: none !important; }`
 *
 * SevenSpikes'ın özgün dosyasında vardı: popup açıkken altbilgideki abonelik
 * formunu gizliyor, yerine zarf ikonlu "Subscribe" düğmesini bırakıyordu.
 *
 * Kozmoz724'te bu kural hiç işlemiyordu; özel altbilgi
 * (`Themes/Uptown/Views/Shared/Components/Footer/Default.cshtml`) temanın
 * `footer-1` sarmalayıcı sınıfını basmıyor — canlı HTML'de o sınıf hiç yok.
 * Yani altbilgi formu zaten görünür durumdaydı.
 *
 * Kural bilerek geri getirilmedi: altbilgideki form artık asıl abonelik yolu,
 * "Subscribe" düğmesi de kaldırıldı. Sınıf ileride herhangi bir şekilde
 * eklenirse bu kural formu sessizce yok edeceği için tuzak olurdu.
 */

/* ---------------------------------------------------------------- değişkenler */
.newsletter-subscribe-popup-overlay {
    --kzm-np-bg: #ffffff;
    --kzm-np-fg: #1f2d3d;
    --kzm-np-muted: #6b7684;
    --kzm-np-border: #e4e8ee;
    --kzm-np-field: #ffffff;
    --kzm-np-accent: #1c7ed6;
    --kzm-np-accent-hover: #1769b5;
    --kzm-np-accent-fg: #ffffff;
    --kzm-np-danger: #d7322b;
    --kzm-np-success: #1a7f4b;
    --kzm-np-radius: 16px;
    --kzm-np-shadow: 0 24px 64px rgba(16, 24, 40, .24), 0 2px 8px rgba(16, 24, 40, .08);
}

/* --------------------------------------------------------------------- overlay */
.newsletter-subscribe-popup-overlay {
    display: none;              /* jQuery fadeIn bunu block'a çevirir */
    position: fixed;
    inset: 0;
    z-index: 1070;
    background: rgba(16, 24, 40, .56);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ------------------------------------------------------------------------ kart */
.newsletter-subscribe-popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    padding: 2.5rem 2rem 2rem;
    background-color: var(--kzm-np-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--kzm-np-fg);
    border-radius: var(--kzm-np-radius);
    box-shadow: var(--kzm-np-shadow);
    text-align: center;
}

/* -------------------------------------------------------------------- kapatma */
.newsletter-subscribe-popup .close-popup {
    position: absolute;
    top: .75rem;
    right: .75rem;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--kzm-np-muted);
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease;
}

.newsletter-subscribe-popup .close-popup:hover,
.newsletter-subscribe-popup .close-popup:focus-visible {
    background: var(--kzm-np-border);
    color: var(--kzm-np-fg);
}

.newsletter-subscribe-popup .close-popup:focus-visible {
    outline: 2px solid var(--kzm-np-accent);
    outline-offset: 2px;
}

/* metin yalnız ekran okuyucular için */
.newsletter-subscribe-popup .close-popup-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----------------------------------------------------------------- başlık/metin */
.newsletter-subscribe-popup .newsletter-subscribe-popup-title {
    margin: 0 0 .625rem;
    padding: 0;
    border: 0;
    text-align: center;
    color: var(--kzm-np-fg);
}

.newsletter-subscribe-popup .newsletter-subscribe-popup-title span {
    font-family: inherit;
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 700;
    text-transform: none;    /* eskiden hepsi BÜYÜK HARFTİ */
    letter-spacing: -.01em;
}

.newsletter-subscribe-popup .newsletter-subscribe-description-wrapper {
    margin: 0 0 1.5rem;
}

.newsletter-subscribe-popup .newsletter-subscribe-popup-description {
    margin: 0 auto;
    max-width: 38ch;
    font-family: inherit;
    font-size: .9375rem;
    font-style: normal;      /* eskiden Droid Serif italikti */
    line-height: 1.6;
    color: var(--kzm-np-muted);
    text-align: center;
}

/* ------------------------------------------------------------- e-posta + düğme */
.newsletter-subscribe-popup .newsletter-email {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: stretch;
    justify-content: center;
}

.newsletter-subscribe-popup .newsletter-subscribe-text {
    flex: 1 1 15rem;
    min-width: 0;
    box-sizing: border-box;
    height: 3rem;
    padding: 0 1rem;
    font-family: inherit;
    font-size: .9375rem;
    color: var(--kzm-np-fg);
    background: var(--kzm-np-field);
    border: 1px solid var(--kzm-np-border);
    border-radius: 10px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.newsletter-subscribe-popup .newsletter-subscribe-text::placeholder {
    color: var(--kzm-np-muted);
    opacity: 1;
}

.newsletter-subscribe-popup .newsletter-subscribe-text:focus {
    outline: 0;
    border-color: var(--kzm-np-accent);
    box-shadow: 0 0 0 3px rgba(28, 126, 214, .18);
}

.newsletter-subscribe-popup .newsletter-subscribe-button {
    flex: 0 0 auto;
    box-sizing: border-box;
    height: 3rem;
    padding: 0 1.5rem;
    font-family: inherit;
    font-size: .9375rem;
    font-weight: 600;
    text-transform: none;
    color: var(--kzm-np-accent-fg);
    background: var(--kzm-np-accent);
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color .15s ease, transform .1s ease;
}

.newsletter-subscribe-popup .newsletter-subscribe-button:hover {
    background: var(--kzm-np-accent-hover);
}

.newsletter-subscribe-popup .newsletter-subscribe-button:active {
    transform: translateY(1px);
}

.newsletter-subscribe-popup .newsletter-subscribe-button:focus-visible {
    outline: 2px solid var(--kzm-np-accent);
    outline-offset: 2px;
}

/* -------------------------------------------------------- abone ol / iptal seçimi */
.newsletter-subscribe-popup .options {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin: .875rem 0 0;
}

.newsletter-subscribe-popup .options span {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
}

.newsletter-subscribe-popup .options label {
    font-family: inherit;
    font-size: .875rem;
    font-style: normal;
    color: var(--kzm-np-muted);
    cursor: pointer;
}

/* ------------------------------------------------------------------- geri bildirim */
.newsletter-subscribe-popup .captcha-box {
    margin: 1rem 0 0;
    display: flex;
    justify-content: center;
}

.newsletter-subscribe-popup .consent-error {
    display: none;
    margin: .875rem 0 0;
    padding: .625rem .75rem;
    font-family: inherit;
    font-size: .875rem;
    font-style: normal;
    line-height: 1.5;
    color: var(--kzm-np-danger);
    background: rgba(215, 50, 43, .08);
    border-radius: 8px;
}

.newsletter-subscribe-popup .consent-error[style*="block"] ~ div {
    display: none;
}

.newsletter-subscribe-popup .newsletter-validation,
.newsletter-subscribe-popup .newsletter-result {
    padding: 0;
    text-align: center;
    line-height: 1.5;
    font-size: .875rem;
}

.newsletter-subscribe-popup .newsletter-validation {
    margin: .75rem 0 0;
    color: var(--kzm-np-danger);
}

.newsletter-subscribe-popup .newsletter-validation:empty,
.newsletter-subscribe-popup .newsletter-result:empty {
    display: none;
}

.newsletter-subscribe-popup .newsletter-result {
    margin: .75rem 0 0;
    padding: .625rem .75rem;
    color: var(--kzm-np-success);
    background: rgba(26, 127, 75, .08);
    border-radius: 8px;
}

.newsletter-subscribe-popup .subscribe-loading-progress {
    color: var(--kzm-np-muted);
}

/*
 * Eklenti JS'i başarılı abonelikte forma `hidden` sınıfı ekliyor. Temada genel bir
 * `.hidden` kuralı YOK (sadece .overlayOffCanvas.hidden var), bu yüzden form
 * gizlenmiyordu ve kullanıcı hem formu hem başarı mesajını birlikte görüyordu.
 */
.newsletter-subscribe-popup .newsletter-subscribe-block.hidden {
    display: none !important;
}

/* ------------------------------------------------------------------ onay kutuları */
.newsletter-subscribe-popup .newsletter-subscribe-options {
    display: flex;
    flex-flow: column;
    row-gap: .625rem;
    align-items: center;
    margin: 1.25rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--kzm-np-border);
}

.newsletter-subscribe-popup .newsletter-gdpr-checkbox-content,
.newsletter-subscribe-popup .newsletter-subscribe-checkbox-content {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    text-align: left;
}

.newsletter-subscribe-popup .newsletter-subscribe-options input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: .125rem 0 0;
    accent-color: var(--kzm-np-accent);
    cursor: pointer;
}

.newsletter-subscribe-popup .newsletter-subscribe-options label {
    font-family: inherit;
    font-size: .8125rem;
    font-style: normal;
    line-height: 1.5;
    color: var(--kzm-np-muted);
    cursor: pointer;
}

/* ------------------------------------------------------------------------ mobil */
@media all and (max-width: 480px) {
    .newsletter-subscribe-popup {
        width: calc(100vw - 1.5rem);
        padding: 2.25rem 1.25rem 1.5rem;
    }

    .newsletter-subscribe-popup .newsletter-subscribe-popup-title span {
        font-size: 1.3125rem;
    }

    .newsletter-subscribe-popup .newsletter-subscribe-text,
    .newsletter-subscribe-popup .newsletter-subscribe-button {
        flex: 1 1 100%;
    }
}

/* ------------------------------------------------------------------ karanlık mod */
@media (prefers-color-scheme: dark) {
    .newsletter-subscribe-popup-overlay {
        --kzm-np-bg: #1a1f27;
        --kzm-np-fg: #eef1f5;
        --kzm-np-muted: #9aa5b4;
        --kzm-np-border: #2e3642;
        --kzm-np-field: #232a34;
        --kzm-np-accent: #4dabf7;
        --kzm-np-accent-hover: #74c0fc;
        --kzm-np-accent-fg: #0b1220;
        --kzm-np-danger: #ff8785;
        --kzm-np-success: #5fd39b;
        --kzm-np-shadow: 0 24px 64px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .4);
    }
}

/* ------------------------------------------------------- hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
    .newsletter-subscribe-popup-overlay,
    .newsletter-subscribe-popup *,
    .newsletter-subscribe-popup .close-popup,
    .newsletter-subscribe-popup .newsletter-subscribe-button {
        transition: none !important;
    }
}
