/* ================================================================
   SİPARİŞ YAZILIMI — TANITIM SİTESİ
   Panelin yeni teması (SiparisYazilimiNet/wwwroot/themes) ile aynı dil:
   koyu yüzey merdiveni, zümrüt vurgu, Manrope, 14px yarıçap, ince kenar.
   Sınıf adları eski dosyayla AYNI tutuldu; markup'a dokunmadan bütün
   sayfalar bu tek dosyayla koyu temaya geçiyor.
   Eski açık/kırmızı tema yedeği: site.eski.css.bak
   ================================================================ */

:root {
    /* yüzey merdiveni */
    --zemin: #030408;
    --zemin-2: #05060A;
    --kart: #080B10;
    --kart-2: #0C1016;
    --girdi: #13161C;

    --kenar: rgba(158, 180, 210, 0.10);
    --kenar-2: rgba(158, 180, 210, 0.17);
    --cizgi: rgba(158, 180, 210, 0.06);
    --cam: rgba(158, 180, 210, 0.055);
    --cam-2: rgba(158, 180, 210, 0.10);

    --metin: #EEF3F9;
    --metin-2: #A2B1C4;
    --metin-3: #6C7C92;

    /* vurgu: zümrüt (panel varsayılanı) */
    --vurgu: #2EE6A8;
    --vurgu-d1: #0E9D72;
    --vurgu-d2: #0A7A57;
    --vurgu-sis: color-mix(in srgb, var(--vurgu) 15%, transparent);
    --vurgu-gradyan: linear-gradient(135deg, #0E9D72, #0A7A57);

    --mavi: #5B9DFF;
    --mor: #B39DFF;
    --sari: #FFC24B;
    --kirmizi: #FF6B6B;

    --yazi: 'Manrope', -apple-system, 'Segoe UI', system-ui, sans-serif;
    --mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;

    --r: 14px;
    --r-ic: 10px;
    --hap: 999px;

    --golge: 0 1px 2px rgba(0,0,0,.5), 0 16px 40px -20px rgba(0,0,0,.75);
    --golge-2: 0 2px 6px rgba(0,0,0,.55), 0 26px 60px -24px rgba(0,0,0,.9);
    --ic-isik: inset 0 1px 0 rgba(255,255,255,.055);
    --gecis: 180ms cubic-bezier(.2,.8,.3,1);

    /* Bootstrap köprüsü */
    --bs-body-bg: var(--zemin);
    --bs-body-color: var(--metin-2);
    --bs-border-color: var(--kenar);
    --bs-primary: var(--vurgu);
    --bs-link-color: var(--vurgu);
    --bs-link-hover-color: var(--vurgu);
}

* { box-sizing: border-box; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
    background: var(--zemin);
    color: var(--metin-2);
    font-family: var(--yazi);
    font-size: 15.5px;
    line-height: 1.65;
    letter-spacing: -0.004em;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--yazi);
    color: var(--metin);
    font-weight: 800;
    letter-spacing: -0.028em;
    line-height: 1.15;
}

p { color: var(--metin-2); }
a { color: var(--vurgu); text-decoration: none; transition: color var(--gecis); }
a:hover { color: color-mix(in srgb, var(--vurgu) 78%, #fff); }
hr { border-color: var(--kenar); opacity: 1; }
::selection { background: var(--vurgu-sis); color: var(--metin); }

/* ---------------------------------------------- ÜST MENÜ */
.navbar {
    padding: 14px 0;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background var(--gecis), border-color var(--gecis), padding var(--gecis);
}
.navbar.scrolled,
.navbar.navbar-scrolled {
    padding: 9px 0;
    background: color-mix(in srgb, var(--zemin) 82%, transparent);
    border-bottom-color: var(--kenar);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow: 0 12px 30px -26px #000;
}
.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 19px;
    letter-spacing: -0.03em;
    color: var(--metin) !important;
}
.navbar-brand img { height: 34px; width: auto; }
.nav-link {
    position: relative;
    padding: 7px 13px !important;
    color: var(--metin-2) !important;
    font-size: 14.5px;
    font-weight: 600;
    border-radius: var(--r-ic);
    transition: color var(--gecis), background var(--gecis);
}
.nav-link:hover { color: var(--metin) !important; background: var(--cam); }
.nav-link.active { color: var(--vurgu) !important; background: var(--vurgu-sis); }
.navbar-toggler {
    border: 1px solid var(--kenar-2);
    border-radius: var(--r-ic);
    color: var(--metin);
    padding: 6px 10px;
}
.navbar-toggler:focus { box-shadow: 0 0 0 3px var(--vurgu-sis); }
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23A2B1C4' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.dropdown-menu {
    background: var(--kart-2);
    border: 1px solid var(--kenar);
    border-radius: var(--r);
    box-shadow: var(--golge-2);
    padding: 6px;
}
.dropdown-item { color: var(--metin-2); border-radius: 8px; padding: 8px 12px; font-size: 14px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--cam-2); color: var(--metin); }

/* ---------------------------------------------- HERO */
.hero-section {
    position: relative;
    padding: 150px 0 110px;
    background: var(--zemin);
    overflow: hidden;
}
/* Zümrüt hale + ince ızgara: panelin "derinlik ama sessiz" imzası */
.hero-section::before {
    content: '';
    position: absolute;
    top: -30%;
    left: 50%;
    transform: translateX(-50%);
    width: 1100px;
    height: 800px;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--vurgu) 13%, transparent), transparent 62%);
    filter: blur(30px);
    pointer-events: none;
}
.hero-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(var(--kenar) 1px, transparent 1px),
                      linear-gradient(90deg, var(--kenar) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 20%, transparent 75%);
    opacity: .5;
    pointer-events: none;
}
.hero-section > * { position: relative; z-index: 1; }

.hero-etiket {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    padding: 6px 14px 6px 8px;
    border: 1px solid color-mix(in srgb, var(--vurgu) 28%, transparent);
    border-radius: var(--hap);
    background: var(--vurgu-sis);
    color: var(--vurgu);
    font-size: 12.5px;
    font-weight: 700;
}
.hero-etiket b {
    padding: 2px 8px;
    border-radius: var(--hap);
    background: var(--vurgu);
    color: #04120C;
    font-size: 11px;
    font-weight: 800;
}
.hero-title {
    font-size: clamp(34px, 5.2vw, 62px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.06;
    color: var(--metin);
    margin-bottom: 20px;
}
.hero-title span,
.text-gradient {
    background: linear-gradient(120deg, var(--vurgu), #7CF3CC 55%, var(--mavi));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-subtitle {
    max-width: 620px;
    font-size: 17px;
    line-height: 1.65;
    color: var(--metin-2);
    margin-bottom: 30px;
}
.hero-section img { filter: drop-shadow(0 30px 60px rgba(0,0,0,.55)); }

/* ---------------------------------------------- BUTONLAR */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: var(--r-ic);
    font-family: var(--yazi);
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.4;
    transition: transform var(--gecis), background var(--gecis), border-color var(--gecis), color var(--gecis), box-shadow var(--gecis);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-lg { padding: 13px 26px; font-size: 15.5px; border-radius: 12px; }
.btn-sm { padding: 7px 14px; font-size: 13px; }

.btn-primary,
.btn-white {
    background: var(--vurgu-gradyan);
    border-color: transparent;
    color: #FFFFFF;
    box-shadow: var(--ic-isik), 0 10px 26px -14px color-mix(in srgb, var(--vurgu) 70%, transparent);
}
.btn-primary:hover,
.btn-white:hover {
    background: var(--vurgu-gradyan);
    color: #FFFFFF;
    box-shadow: var(--ic-isik), 0 14px 34px -14px color-mix(in srgb, var(--vurgu) 85%, transparent);
}
.btn-outline-primary,
.btn-outline-light {
    background: var(--cam);
    border-color: var(--kenar-2);
    color: var(--metin);
}
.btn-outline-primary:hover,
.btn-outline-light:hover {
    background: var(--vurgu-sis);
    border-color: color-mix(in srgb, var(--vurgu) 45%, transparent);
    color: var(--vurgu);
}
.btn-secondary { background: var(--cam-2); border-color: var(--kenar); color: var(--metin); }
.btn-secondary:hover { background: var(--kenar); color: var(--metin); }
.btn-success { background: var(--vurgu-gradyan); border-color: transparent; color: #fff; }
.btn:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; box-shadow: none; }

/* ---------------------------------------------- BÖLÜM */
.section { padding: 92px 0; position: relative; }
.section-etiket {
    display: inline-block;
    margin-bottom: 12px;
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--vurgu);
}
.section-title {
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--metin);
    margin-bottom: 14px;
}
.section-subtitle {
    max-width: 640px;
    margin: 0 auto;
    font-size: 16px;
    color: var(--metin-3);
    line-height: 1.65;
}
.bg-light-primary { background: var(--zemin-2); }
.bg-light, .bg-white { background: var(--zemin-2) !important; color: var(--metin-2) !important; }

/* ---------------------------------------------- KARTLAR */
.feature-card,
.module-card,
.contact-card,
.testimonial-card,
.card {
    position: relative;
    height: 100%;
    padding: 26px 24px;
    border: 1px solid var(--kenar);
    border-radius: var(--r);
    background: var(--kart);
    box-shadow: var(--ic-isik), var(--golge);
    transition: transform var(--gecis), border-color var(--gecis), box-shadow var(--gecis);
    overflow: hidden;
}
.feature-card::after,
.module-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 46px;
    height: 2px;
    background: linear-gradient(90deg, var(--vurgu), transparent);
    transition: width .45s cubic-bezier(.3,.8,.4,1);
}
.feature-card:hover,
.module-card:hover,
.contact-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--vurgu) 38%, transparent);
    box-shadow: var(--ic-isik), var(--golge-2);
}
.feature-card:hover::after,
.module-card:hover::after { width: 100%; }

.feature-icon,
.module-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--vurgu) 24%, transparent), color-mix(in srgb, var(--vurgu) 8%, transparent));
    border: 1px solid color-mix(in srgb, var(--vurgu) 30%, transparent);
    color: var(--vurgu);
    font-size: 22px;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--vurgu) 60%, transparent);
}
.feature-title,
.module-card h3,
.module-card h5 {
    font-size: 17.5px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--metin);
    margin-bottom: 9px;
}
.feature-text,
.module-card p {
    font-size: 14.5px;
    line-height: 1.62;
    color: var(--metin-3);
    margin: 0;
}
.module-price {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    margin-top: 14px;
    padding: 5px 12px;
    border-radius: var(--hap);
    background: var(--vurgu-sis);
    color: var(--vurgu);
    font-family: var(--mono);
    font-size: 13px;
    font-weight: 700;
}

/* ---------------------------------------------- SAYILAR */
.stats-section {
    padding: 26px 0;
    border-top: 1px solid var(--kenar);
    border-bottom: 1px solid var(--kenar);
    background: var(--zemin-2);
}
.stat-item { text-align: center; padding: 14px 8px; }
.stat-number {
    font-family: var(--yazi);
    font-size: clamp(28px, 3.6vw, 40px);
    font-weight: 800;
    letter-spacing: -0.035em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(120deg, var(--vurgu), #7CF3CC);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.05;
}
.stat-label {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--metin-3);
}

/* ---------------------------------------------- FİYAT */
.pricing-card {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 30px 26px;
    border: 1px solid var(--kenar);
    border-radius: var(--r);
    background: var(--kart);
    box-shadow: var(--ic-isik), var(--golge);
    transition: transform var(--gecis), border-color var(--gecis), box-shadow var(--gecis);
}
.pricing-card:hover {
    transform: translateY(-3px);
    border-color: var(--kenar-2);
    box-shadow: var(--ic-isik), var(--golge-2);
}
.pricing-card.popular {
    border-color: color-mix(in srgb, var(--vurgu) 45%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--vurgu) 7%, var(--kart)), var(--kart) 55%);
    box-shadow: var(--ic-isik), 0 0 0 1px color-mix(in srgb, var(--vurgu) 18%, transparent), var(--golge-2);
}
.pricing-card.popular:hover { transform: translateY(-4px); }
.pricing-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 15px;
    border-radius: var(--hap);
    background: var(--vurgu);
    color: #04120C;
    font-size: 11.5px;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--vurgu) 90%, transparent);
}
.pricing-title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--metin-3);
    margin-bottom: 12px;
}
.pricing-price {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--metin);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
.pricing-price span { font-size: 14px; font-weight: 600; color: var(--metin-3); letter-spacing: 0; }
.pricing-features { list-style: none; margin: 22px 0 26px; padding: 0; }
.pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--cizgi);
    font-size: 14.5px;
    color: var(--metin-2);
}
.pricing-features li:last-child { border-bottom: 0; }
.pricing-features li i { color: var(--vurgu); font-size: 16px; margin-top: 3px; flex-shrink: 0; }
.pricing-card .btn { margin-top: auto; width: 100%; }

/* ---------------------------------------------- CTA */
.cta-section {
    position: relative;
    padding: 84px 0;
    background: var(--zemin-2);
    border-top: 1px solid var(--kenar);
    overflow: hidden;
}
.cta-section::before {
    content: '';
    position: absolute;
    top: -40%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 600px;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--vurgu) 15%, transparent), transparent 62%);
    filter: blur(26px);
    pointer-events: none;
}
.cta-section > * { position: relative; z-index: 1; }
.cta-section h2 { color: var(--metin); }
.cta-section p { color: var(--metin-2); }

/* ---------------------------------------------- FORM */
.form-label { font-size: 13.5px; font-weight: 600; color: var(--metin-2); margin-bottom: 6px; }
.form-control,
.form-select {
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--kenar-2);
    border-radius: var(--r-ic);
    background: var(--girdi);
    color: var(--metin);
    font-family: var(--yazi);
    font-size: 14.5px;
    transition: border-color var(--gecis), box-shadow var(--gecis), background var(--gecis);
}
.form-control::placeholder { color: var(--metin-3); }
.form-control:focus,
.form-select:focus {
    background: #171B23;
    border-color: var(--vurgu);
    color: var(--metin);
    box-shadow: 0 0 0 3px var(--vurgu-sis);
    outline: none;
}
.form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236C7C92'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
}
.form-select option { background: var(--kart-2); color: var(--metin); }
.form-check-input {
    width: 18px;
    height: 18px;
    background: var(--girdi);
    border: 1px solid var(--kenar-2);
}
.form-check-input:checked { background-color: var(--vurgu); border-color: var(--vurgu); }
.form-check-input:focus { box-shadow: 0 0 0 3px var(--vurgu-sis); border-color: var(--vurgu); }
.form-check-label { font-size: 14px; color: var(--metin-2); }
textarea.form-control { min-height: 120px; resize: vertical; }
.invalid-feedback, .text-danger { color: var(--kirmizi) !important; font-size: 13px; }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--kirmizi); }

.alert {
    padding: 14px 18px;
    border: 0;
    border-left: 3px solid var(--kenar-2);
    border-radius: var(--r-ic);
    background: var(--cam);
    color: var(--metin-2);
    font-size: 14.5px;
}
.alert-success { background: color-mix(in srgb, var(--vurgu) 9%, transparent); border-left-color: var(--vurgu); color: var(--metin); }
.alert-danger { background: color-mix(in srgb, var(--kirmizi) 9%, transparent); border-left-color: var(--kirmizi); }
.alert-info { background: color-mix(in srgb, var(--mavi) 9%, transparent); border-left-color: var(--mavi); }
.alert-warning { background: color-mix(in srgb, var(--sari) 9%, transparent); border-left-color: var(--sari); }

.badge {
    padding: 5px 11px;
    border-radius: var(--hap);
    background: var(--cam-2);
    color: var(--metin-2);
    font-family: var(--yazi);
    font-size: 12px;
    font-weight: 700;
}
.badge.bg-primary { background: var(--vurgu-sis) !important; color: var(--vurgu) !important; }
.badge.bg-success { background: color-mix(in srgb, var(--vurgu) 13%, transparent) !important; color: var(--vurgu) !important; }
.badge.bg-info { background: color-mix(in srgb, var(--mavi) 13%, transparent) !important; color: var(--mavi) !important; }
.badge.bg-warning { background: color-mix(in srgb, var(--sari) 14%, transparent) !important; color: var(--sari) !important; }

/* ---------------------------------------------- REFERANS */
.testimonial-card { padding: 28px 26px; }
.testimonial-text { font-size: 15.5px; line-height: 1.7; color: var(--metin-2); font-style: normal; }
.testimonial-text::before {
    content: '\201C';
    display: block;
    font-size: 44px;
    line-height: .6;
    color: var(--vurgu);
    opacity: .55;
    margin-bottom: 10px;
}
.testimonial-author { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.testimonial-author strong { color: var(--metin); font-size: 14.5px; }
.testimonial-author small { color: var(--metin-3); font-size: 12.5px; }
.testimonial-avatar {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--vurgu-gradyan);
    color: #fff;
    font-weight: 800;
    flex-shrink: 0;
}

/* ---------------------------------------------- FOOTER */
footer, .footer {
    padding: 60px 0 26px;
    border-top: 1px solid var(--kenar);
    background: var(--zemin-2);
    color: var(--metin-3);
    font-size: 14.5px;
}
footer h5, .footer h5 {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--metin-3);
    margin-bottom: 16px;
}
footer a, .footer a { color: var(--metin-2); }
footer a:hover, .footer a:hover { color: var(--vurgu); }
footer .list-unstyled li { margin-bottom: 9px; }

/* ---------------------------------------------- ÇEREZ ŞERİDİ */
.cookie-consent {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 1080;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 15px 20px;
    border: 1px solid var(--kenar-2);
    border-radius: var(--r);
    background: color-mix(in srgb, var(--kart-2) 96%, transparent);
    backdrop-filter: blur(14px);
    box-shadow: var(--golge-2);
    color: var(--metin-2);
    font-size: 14px;
}
.cookie-consent a { color: var(--vurgu); }
.cookie-consent a:hover { text-decoration: underline; }

/* ---------------------------------------------- YARDIMCI */
.shadow-soft { box-shadow: var(--golge) !important; }
.rounded-lg { border-radius: var(--r-ic) !important; }
.rounded-xl { border-radius: var(--r) !important; }
.text-muted { color: var(--metin-3) !important; }
.text-dark { color: var(--metin) !important; }
.border { border-color: var(--kenar) !important; }
.table { --bs-table-bg: transparent; color: var(--metin-2); }
.table > :not(caption) > * > * { border-bottom-color: var(--kenar); background: transparent; }
.table thead th {
    color: var(--metin-3);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}
.animate-fadeInUp { animation: fadeInUp .6s cubic-bezier(.2,.8,.3,1) both; }

@media (prefers-reduced-motion: reduce) {
    .animate-fadeInUp { animation: none; }
    .btn:hover, .feature-card:hover, .module-card:hover, .pricing-card:hover { transform: none; }
}

/* ---------------------------------------------- DAR EKRAN */
@media (max-width: 991px) {
    .hero-section { padding: 118px 0 70px; }
    .section { padding: 64px 0; }
    .navbar-collapse {
        margin-top: 12px;
        padding: 10px;
        border: 1px solid var(--kenar);
        border-radius: var(--r);
        background: var(--kart-2);
    }
    .nav-link { padding: 10px 12px !important; }
}

@media (max-width: 767px) {
    body { font-size: 15px; }
    .hero-section { padding: 100px 0 56px; text-align: center; }
    .hero-subtitle { margin-left: auto; margin-right: auto; }
    .section { padding: 52px 0; }
    .feature-card, .module-card, .pricing-card, .contact-card, .testimonial-card { padding: 22px 20px; }
    .btn-lg { padding: 12px 20px; font-size: 15px; width: 100%; }
    .cookie-consent { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Demo talep sayfasindaki adim numarasi (eski bg-danger dairesi) */
.adim-no {
    width: 50px;
    height: 50px;
    background: var(--vurgu-gradyan);
    color: #FFFFFF;
    font-weight: 800;
    font-size: 18px;
    flex-shrink: 0;
    box-shadow: 0 10px 24px -12px color-mix(in srgb, var(--vurgu) 80%, transparent);
}

/* ================================================================
   MARKA — logo PNG'si maske olarak kullaniliyor: silueti zumrut
   renkte basiyor, ayri bir yesil dosya uretmeye gerek kalmiyor.
   ================================================================ */
.logo-mark {
    display: inline-block;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    background: linear-gradient(140deg, var(--vurgu), var(--vurgu-d1));
    -webkit-mask: url('/images/logo-icon.png') center / contain no-repeat;
    mask: url('/images/logo-icon.png') center / contain no-repeat;
}
.logo-yazi {
    font-family: var(--yazi);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    white-space: nowrap;
    color: var(--metin);
}
footer .logo-mark, .footer .logo-mark { width: 30px; height: 30px; }
footer .logo-yazi, .footer .logo-yazi { font-size: 17px; }

/* Ust menu baglantilari yesil */
.nav-link { color: var(--vurgu) !important; opacity: .85; }
.nav-link:hover { color: var(--vurgu) !important; opacity: 1; background: var(--vurgu-sis); }
.nav-link.active { color: var(--vurgu) !important; opacity: 1; background: var(--vurgu-sis); }

/* ================================================================
   BOLUM ARKA PLAN DESENLERI
   Her bolum duz siyah kalmasin: ince izgara, nokta trami ve yumusak
   zumrut haleler. Hepsi ::before/::after ile, markup'a dokunmadan.
   ================================================================ */
.section { position: relative; isolation: isolate; }
.section > .container { position: relative; z-index: 1; }

/* Tek sayili bolumler: nokta trami + kose halesi */
.section:nth-of-type(odd)::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(var(--kenar) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 10%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 10%, transparent 70%);
    opacity: .55;
    pointer-events: none;
}

/* Cift sayili bolumler: ince izgara + ust kenardan zumrut sizinti */
.section:nth-of-type(even)::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(var(--cizgi) 1px, transparent 1px),
                      linear-gradient(90deg, var(--cizgi) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, #000, transparent 65%);
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 65%);
    pointer-events: none;
}
.section::after {
    content: '';
    position: absolute;
    top: -140px;
    right: -160px;
    z-index: 0;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--vurgu) 9%, transparent), transparent 65%);
    filter: blur(40px);
    pointer-events: none;
}
.section:nth-of-type(even)::after { right: auto; left: -180px; top: auto; bottom: -160px; }

/* Bolum ayirici ince cizgi — bolumler birbirine yapismasin */
.section + .section { border-top: 1px solid var(--cizgi); }

/* Isteyen bolum icin acik siniflar */
.desen-izgara {
    background-image: linear-gradient(var(--cizgi) 1px, transparent 1px),
                      linear-gradient(90deg, var(--cizgi) 1px, transparent 1px);
    background-size: 64px 64px;
}
.desen-nokta {
    background-image: radial-gradient(var(--kenar) 1px, transparent 1px);
    background-size: 20px 20px;
}
.desen-hale { position: relative; overflow: hidden; }
.desen-hale::before {
    content: '';
    position: absolute;
    top: -35%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 620px;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--vurgu) 12%, transparent), transparent 62%);
    filter: blur(30px);
    pointer-events: none;
}

/* Footer markasi .navbar-brand degil (gap yok): logo ile yazi arasi burada verilir */
footer .logo-mark, .footer .logo-mark { margin-right: 11px; }

/* Fiyat rakami yerine iletisim cagrisi (DB'de fiyat 0 ise) */
.pricing-iletisim {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 12px;
    border: 1px dashed color-mix(in srgb, var(--vurgu) 38%, transparent);
    border-radius: var(--r-ic);
    background: var(--vurgu-sis);
    color: var(--vurgu);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.pricing-iletisim i { font-size: 18px; }

/* Ust menu: ikon ile yazi arasi biraz acildi, ogeler arasi da nefes aldi */
.navbar-nav { gap: 2px; }
.nav-link i { margin-right: 7px !important; font-size: 15px; opacity: .75; }
.nav-link:hover i, .nav-link.active i { opacity: 1; }

/* ================================================================
   PANEL MAKETI — hero'daki dis kaynakli (popsy) cizim yerine
   panelin kendi koyu arayuzunu temsil eden saf CSS maket.
   Gorsel dosyasi yok: her sey kutu, cizgi ve renk.
   ================================================================ */
.panel-maket {
    position: relative;
    border: 1px solid var(--kenar-2);
    border-radius: var(--r);
    background: linear-gradient(180deg, var(--kart-2), var(--kart));
    box-shadow: var(--ic-isik), 0 40px 90px -40px #000, 0 0 0 1px rgba(255,255,255,.02);
    overflow: hidden;
    transform: perspective(1400px) rotateY(-7deg) rotateX(3deg);
    transform-origin: left center;
}
.panel-maket::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 15% 0%, color-mix(in srgb, var(--vurgu) 10%, transparent), transparent 55%);
    pointer-events: none;
}
.maket-ust {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--kenar);
    background: color-mix(in srgb, var(--zemin) 55%, transparent);
}
.maket-nokta { width: 9px; height: 9px; border-radius: 50%; background: var(--kenar-2); }
.maket-nokta:first-child { background: color-mix(in srgb, var(--kirmizi) 65%, transparent); }
.maket-nokta:nth-child(2) { background: color-mix(in srgb, var(--sari) 65%, transparent); }
.maket-nokta:nth-child(3) { background: color-mix(in srgb, var(--vurgu) 65%, transparent); }
.maket-ara {
    flex: 1;
    height: 22px;
    margin-left: 8px;
    border: 1px solid var(--kenar);
    border-radius: var(--hap);
    background: var(--girdi);
}
.maket-govde { display: grid; grid-template-columns: 62px 1fr; min-height: 300px; }
.maket-yan {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 14px 10px;
    border-right: 1px solid var(--kenar);
    background: color-mix(in srgb, var(--zemin) 45%, transparent);
}
.maket-yan span { height: 9px; border-radius: 3px; background: var(--cam-2); }
.maket-yan span:first-child { background: color-mix(in srgb, var(--vurgu) 55%, transparent); }
.maket-icerik { padding: 16px; display: flex; flex-direction: column; gap: 13px; }
.maket-kpi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.maket-kpi div {
    padding: 11px 12px;
    border: 1px solid var(--kenar);
    border-radius: var(--r-ic);
    background: var(--kart);
}
.maket-kpi b {
    display: block;
    font-family: var(--yazi);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--vurgu);
    font-variant-numeric: tabular-nums;
}
.maket-kpi small {
    display: block;
    margin-top: 2px;
    font-size: 9.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--metin-3);
}
.maket-kpi div:nth-child(2) b { color: var(--mavi); }
.maket-kpi div:nth-child(3) b { color: var(--sari); }
.maket-tablo {
    border: 1px solid var(--kenar);
    border-radius: var(--r-ic);
    overflow: hidden;
    background: var(--kart);
}
.maket-satir {
    display: grid;
    grid-template-columns: 1fr 78px 62px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--cizgi);
}
.maket-satir:last-child { border-bottom: 0; }
.maket-satir i { height: 8px; border-radius: 3px; background: var(--cam-2); font-style: normal; }
.maket-rozet {
    height: 18px;
    border-radius: var(--hap);
    background: color-mix(in srgb, var(--vurgu) 20%, transparent);
}
.maket-satir:nth-child(2) .maket-rozet { background: color-mix(in srgb, var(--mavi) 22%, transparent); }
.maket-satir:nth-child(3) .maket-rozet { background: color-mix(in srgb, var(--sari) 22%, transparent); }
.maket-satir:nth-child(4) .maket-rozet { background: color-mix(in srgb, var(--mor) 22%, transparent); }
.maket-tutar { height: 8px; border-radius: 3px; background: var(--kenar-2); }

@media (max-width: 1199px) { .panel-maket { transform: none; } }

/* Marka yazisi biraz daha buyuk (Aydin) */
.logo-yazi { font-size: 24px; }
footer .logo-yazi, .footer .logo-yazi { font-size: 21px; }

/* Bootstrap'in .table-light basligi acik zemin + siyah yazi basiyordu (KVKK,
   Gizlilik sayfalarindaki tablolar). Koyu temaya cevrildi. */
.table-light,
.table > thead.table-light,
.table > thead.table-light > tr > th,
.table > :not(caption) > * > .table-light {
    --bs-table-bg: var(--kart-2);
    --bs-table-color: var(--metin);
    background-color: var(--kart-2) !important;
    color: var(--metin) !important;
    border-color: var(--kenar) !important;
}
.table-bordered > :not(caption) > * > * { border-color: var(--kenar) !important; }
.table td, .table th { color: var(--metin-2); }
.table strong, .table b { color: var(--metin); }

/* ================================================================
   BOLUM GORSELLERI (_Gorsel.cshtml) — satir ici SVG, tema renkleri
   ================================================================ */
.bolum-gorsel { width: 100%; }
.bolum-gorsel svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 24px 50px rgba(0,0,0,.5)); }

.g-kutu { fill: var(--kart); stroke: var(--kenar-2); stroke-width: 1.5; }
.g-panel { fill: var(--kart-2); stroke: var(--kenar); stroke-width: 1.25; }
.g-girdi { fill: var(--girdi); stroke: var(--kenar); stroke-width: 1.25; }
.g-girdi-bos { fill: none; stroke: var(--kenar-2); stroke-width: 1.25; stroke-dasharray: 5 5; }

.g-cizgi { fill: var(--metin-3); opacity: .55; }
.g-cizgi-soluk { fill: var(--metin-3); opacity: .3; }
.g-cizgi-dolgu { fill: var(--cam-2); }
.g-cizgi-ince { stroke: var(--kenar); stroke-width: 1.25; }
.g-hap { fill: var(--cam-2); }

.g-vurgu-dolgu { fill: var(--vurgu); opacity: .85; }
.g-vurgu-nokta { fill: var(--vurgu); }
.g-vurgu-hap { fill: color-mix(in srgb, var(--vurgu) 24%, transparent); }
.g-vurgu-panel { fill: color-mix(in srgb, var(--vurgu) 12%, transparent); stroke: color-mix(in srgb, var(--vurgu) 45%, transparent); stroke-width: 1.5; }
.g-vurgu-cizgi { stroke: var(--vurgu); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.g-vurgu-cizgi-kalin { stroke: var(--vurgu); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.g-vurgu-cizgi-dolgu { fill: color-mix(in srgb, var(--vurgu) 55%, transparent); }

.g-uyari-cizgi { stroke: var(--sari); stroke-width: 5; stroke-linecap: round; }
.g-uyari-halka { fill: none; stroke: color-mix(in srgb, var(--sari) 45%, transparent); stroke-width: 1.5; stroke-dasharray: 6 8; }

.g-nabiz { fill: none; stroke: var(--vurgu); stroke-width: 1.5; opacity: .5; animation: g-nabiz 2.4s ease-out infinite; transform-origin: center; }
@keyframes g-nabiz {
    0% { transform: scale(.55); opacity: .75; }
    70%, 100% { transform: scale(1.45); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .g-nabiz { animation: none; } }

/* ================================================================
   BOLUM ROZETI — ozellik bolumlerinin ustundeki etiket.
   Eskiden Bootstrap .badge bg-* idi (biri satir ici mor/turuncu hex).
   Simdi tek kalip: nabizli nokta + renkli hap, renk data-renk ile.
   ================================================================ */
.bolum-rozet {
    --rz: var(--vurgu);
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 16px;
    padding: 6px 15px 6px 9px;
    border: 1px solid color-mix(in srgb, var(--rz) 34%, transparent);
    border-radius: var(--hap);
    background: color-mix(in srgb, var(--rz) 12%, transparent);
    color: var(--rz);
    font-family: var(--yazi);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rz) 5%, transparent);
}
.bolum-rozet i {
    font-size: 22px;
    line-height: 0;
    margin-left: -4px;
    animation: rozet-nabiz 2.6s ease-in-out infinite;
}
@keyframes rozet-nabiz { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .bolum-rozet i { animation: none; } }

.bolum-rozet[data-renk="mavi"]    { --rz: var(--mavi); }
.bolum-rozet[data-renk="sari"]    { --rz: var(--sari); }
.bolum-rozet[data-renk="mor"]     { --rz: var(--mor); }
.bolum-rozet[data-renk="kirmizi"] { --rz: var(--kirmizi); }
.bolum-rozet[data-renk="turuncu"] { --rz: #FF9556; }

/* ================================================================
   MODUL KARTI — baslik ikonun SAGINDA, fiyat satiri hep en altta
   (kartlar farkli uzunlukta olsa da fiyatlar ayni hizada durur).
   ================================================================ */
.module-card { display: flex; flex-direction: column; }
.modul-bas { display: flex; align-items: center; gap: 13px; margin-bottom: 13px; }
.modul-bas .module-icon { margin-bottom: 0; width: 44px; height: 44px; font-size: 20px; }
.modul-bas h5 {
    margin: 0;
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--metin);
    line-height: 1.25;
}
.modul-aciklama {
    flex: 1;
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--metin-3);
}
.modul-fiyat-satiri {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--cizgi);
}
.modul-fiyat-satiri .module-price { margin-top: 0; }
.modul-fiyat-satiri .module-price small { font-family: var(--yazi); font-size: 11.5px; opacity: .8; font-weight: 600; }
.modul-yillik {
    padding: 4px 11px;
    border-radius: var(--hap);
    background: var(--cam-2);
    color: var(--metin-3);
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 600;
}
.modul-grup-baslik {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 22px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--metin);
}
.modul-grup-baslik i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--vurgu-sis);
    border: 1px solid color-mix(in srgb, var(--vurgu) 28%, transparent);
    color: var(--vurgu);
    font-size: 18px;
}

/* ================================================================
   UZAY SAHNESI — Ozellikler sayfasinin arka plani.
   Uc katman: (1) yavas suzulen nebula lekeleri, (2) yildiz tozu,
   (3) sayfayi kesen atesli dalga seridi. Hepsi CSS; gorsel yok.
   Sayfa icindeki bolumlerin nokta/izgara desenleri burada kapatilir.
   ================================================================ */
.uzay-sahne { position: relative; isolation: isolate; overflow: hidden; background: var(--zemin); }
.uzay-sahne .section::before,
.uzay-sahne .section::after { content: none; }
.uzay-sahne .section + .section { border-top: 0; }
.uzay-sahne > .container,
.uzay-sahne .section { position: relative; z-index: 2; }

/* (1) Nebula — uc buyuk renkli leke, birbirine gore surukleniyor */
.uzay-sahne::before {
    content: '';
    position: absolute;
    inset: -20% -10%;
    z-index: 0;
    background:
        radial-gradient(38% 30% at 18% 12%, color-mix(in srgb, var(--vurgu) 26%, transparent), transparent 70%),
        radial-gradient(32% 26% at 82% 26%, color-mix(in srgb, var(--mavi) 24%, transparent), transparent 70%),
        radial-gradient(42% 34% at 62% 78%, color-mix(in srgb, var(--mor) 22%, transparent), transparent 72%),
        radial-gradient(30% 24% at 12% 74%, color-mix(in srgb, #FF7A45 20%, transparent), transparent 70%);
    filter: blur(60px);
    opacity: .85;
    animation: nebula-suzul 46s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes nebula-suzul {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    50%  { transform: translate3d(-3%, 2%, 0) scale(1.08); }
    100% { transform: translate3d(2%, -3%, 0) scale(1.04); }
}

/* (2) Yildiz tozu — uc farkli sikligta nokta katmani */
.uzay-sahne::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        radial-gradient(1.6px 1.6px at 12% 18%, rgba(255,255,255,.55), transparent 60%),
        radial-gradient(1.2px 1.2px at 34% 62%, rgba(255,255,255,.4), transparent 60%),
        radial-gradient(1.8px 1.8px at 68% 28%, rgba(255,255,255,.5), transparent 60%),
        radial-gradient(1.1px 1.1px at 84% 72%, rgba(255,255,255,.38), transparent 60%),
        radial-gradient(1.4px 1.4px at 52% 86%, rgba(255,255,255,.42), transparent 60%),
        radial-gradient(1px 1px at 24% 44%, rgba(255,255,255,.3), transparent 60%),
        radial-gradient(1px 1px at 76% 52%, rgba(255,255,255,.3), transparent 60%);
    background-size: 620px 620px, 480px 480px, 720px 720px, 560px 560px, 640px 640px, 400px 400px, 520px 520px;
    animation: yildiz-kirp 7s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes yildiz-kirp { from { opacity: .55; } to { opacity: 1; } }

/* (3) Ates dalgasi — sayfayi capraz kesen isikli serit */
.uzay-dalga {
    position: absolute;
    left: -20%;
    right: -20%;
    height: 300px;
    z-index: 1;
    background: linear-gradient(100deg,
        transparent 0%,
        color-mix(in srgb, var(--vurgu) 22%, transparent) 22%,
        color-mix(in srgb, #7CF3CC 30%, transparent) 42%,
        color-mix(in srgb, #FF9556 22%, transparent) 62%,
        transparent 88%);
    filter: blur(46px);
    transform: rotate(-8deg);
    opacity: .55;
    pointer-events: none;
    animation: dalga-ak 26s linear infinite;
}
.uzay-dalga.dalga-1 { top: 8%; }
.uzay-dalga.dalga-2 { top: 52%; animation-duration: 34s; animation-direction: reverse; opacity: .38; }
@keyframes dalga-ak {
    0%   { transform: rotate(-8deg) translateX(-8%); }
    50%  { transform: rotate(-6deg) translateX(6%); }
    100% { transform: rotate(-8deg) translateX(-8%); }
}

@media (prefers-reduced-motion: reduce) {
    .uzay-sahne::before, .uzay-sahne::after, .uzay-dalga { animation: none; }
}
@media (max-width: 767px) {
    .uzay-sahne::before { filter: blur(44px); opacity: .7; }
    .uzay-dalga { height: 200px; filter: blur(36px); }
}

/* Fiyat kartinda dugme/fiyat ile limit satiri arasi cok sikisikti */
.pricing-price,
.pricing-iletisim { margin-bottom: 16px; }
.pricing-card > p { margin-bottom: 20px !important; line-height: 1.55; }
.pricing-price + p,
.pricing-iletisim + p { margin-top: 4px; }
.pricing-price .btn { margin-top: 4px; }

/* Iletisim sayfasi sol kolonundaki gorsel */
.iletisim-gorsel { max-width: 460px; opacity: .95; }

/* Iletisim sayfasi sol kolonundaki gorsel */
.iletisim-gorsel { max-width: 460px; opacity: .95; }
@media (max-width: 991px) { .iletisim-gorsel { display: none; } }

/* ================================================================
   SAHNELER — her sayfanin kendi arka plan kimligi.
   .uzay-sahne  : Ozellikler (nebula + yildiz + ates dalgasi)
   .sahne-fiyat : Fiyatlandirma (isik huzmeleri + perspektif zemin)
   .sahne-modul : Moduller (devre/takimyildizi agi)
   Ortak kural: icerideki bolumlerin nokta/izgara desenleri kapanir.
   ================================================================ */
.sahne-fiyat,
.sahne-modul { position: relative; isolation: isolate; overflow: hidden; background: var(--zemin); }
.sahne-fiyat .section::before, .sahne-fiyat .section::after,
.sahne-modul .section::before, .sahne-modul .section::after { content: none; }
.sahne-fiyat .section + .section,
.sahne-modul .section + .section { border-top: 0; }
.sahne-fiyat .section, .sahne-fiyat > .container,
.sahne-modul .section, .sahne-modul > .container { position: relative; z-index: 2; }

/* --- FIYATLANDIRMA: yukaridan inen isik huzmeleri + ufuk cizgisi --- */
.sahne-fiyat::before {
    content: '';
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
    width: 140%;
    height: 720px;
    z-index: 0;
    background:
        conic-gradient(from 200deg at 50% 0%,
            transparent 0deg,
            color-mix(in srgb, var(--vurgu) 16%, transparent) 12deg,
            transparent 24deg,
            transparent 34deg,
            color-mix(in srgb, var(--mavi) 13%, transparent) 46deg,
            transparent 58deg,
            transparent 74deg,
            color-mix(in srgb, var(--vurgu) 12%, transparent) 86deg,
            transparent 100deg);
    filter: blur(28px);
    opacity: .8;
    animation: huzme-salin 30s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes huzme-salin {
    from { transform: translateX(-50%) rotate(-2deg); }
    to   { transform: translateX(-50%) rotate(2deg); }
}
/* Perspektif zemin: asagida kaybolan izgara */
.sahne-fiyat::after {
    content: '';
    position: absolute;
    left: -25%;
    right: -25%;
    bottom: -60px;
    height: 420px;
    z-index: 0;
    background-image:
        linear-gradient(var(--kenar) 1px, transparent 1px),
        linear-gradient(90deg, var(--kenar) 1px, transparent 1px);
    background-size: 70px 70px;
    transform: perspective(520px) rotateX(62deg);
    transform-origin: bottom center;
    mask-image: linear-gradient(0deg, transparent 4%, #000 42%, transparent 92%);
    -webkit-mask-image: linear-gradient(0deg, transparent 4%, #000 42%, transparent 92%);
    opacity: .5;
    pointer-events: none;
}

/* --- MODULLER: devre / takimyildizi agi --- */
.sahne-modul::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        repeating-linear-gradient(45deg, var(--cizgi) 0 1px, transparent 1px 78px),
        repeating-linear-gradient(-45deg, var(--cizgi) 0 1px, transparent 1px 78px),
        radial-gradient(2.4px 2.4px at 39px 39px, color-mix(in srgb, var(--vurgu) 55%, transparent), transparent 60%);
    background-size: auto, auto, 78px 78px;
    mask-image: radial-gradient(ellipse 90% 70% at 50% 34%, #000 12%, transparent 76%);
    -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 34%, #000 12%, transparent 76%);
    opacity: .6;
    pointer-events: none;
}
.sahne-modul::after {
    content: '';
    position: absolute;
    inset: -15% -10%;
    z-index: 0;
    background:
        radial-gradient(34% 26% at 22% 18%, color-mix(in srgb, var(--vurgu) 20%, transparent), transparent 70%),
        radial-gradient(30% 24% at 78% 62%, color-mix(in srgb, var(--mor) 18%, transparent), transparent 70%),
        radial-gradient(26% 22% at 58% 96%, color-mix(in srgb, var(--mavi) 16%, transparent), transparent 70%);
    filter: blur(58px);
    animation: nebula-suzul 52s ease-in-out infinite alternate;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .sahne-fiyat::before, .sahne-modul::after { animation: none; }
}
@media (max-width: 767px) {
    .sahne-fiyat::after { display: none; }
    .sahne-modul::before { opacity: .4; }
}

/* Ekrana girince beliren ogeler (js/site.js) */
.beliren {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s cubic-bezier(.2,.8,.3,1) var(--gecikme, 0ms),
                transform .65s cubic-bezier(.2,.8,.3,1) var(--gecikme, 0ms);
    will-change: opacity, transform;
}
.beliren.belirdi { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .beliren { opacity: 1; transform: none; transition: none; }
}

/* Sayac calisirken rakam genisligi zipllamasin */
.stat-number { font-variant-numeric: tabular-nums; }

/* ================================================================
   HERO / SAYFA BASI — DAHA KISA VE SESSIZ
   Onceki olculer (150/110 ve py-5 + 76px main dolgusu) ust ust binip
   ekranin yarisini basliga ayiriyordu. Yukseklikler kisildi, baslik
   punto merdiveni bir kademe indi.
   ================================================================ */
main { padding-top: 68px !important; }

.hero-section { padding: 96px 0 68px; }
.hero-title { font-size: clamp(31px, 4.1vw, 50px); margin-bottom: 16px; }
.hero-subtitle { font-size: 16px; margin-bottom: 24px; max-width: 560px; }
.hero-etiket { margin-bottom: 16px; }
.hero-section .mt-4 { margin-top: 18px !important; }

/* Ic sayfa basligi: py-5 (48+48) yerine sikistirilmis serit */
.bg-light-primary.py-5 {
    padding-top: 46px !important;
    padding-bottom: 30px !important;
    border-bottom: 1px solid var(--cizgi);
}
.bg-light-primary.py-5 h1,
.bg-light-primary.py-5 .display-5 {
    font-size: clamp(25px, 3vw, 34px);
    margin-bottom: 8px !important;
}
.bg-light-primary.py-5 .lead {
    font-size: 15.5px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

/* Bolum ust bosluklari da bir tik kisildi */
.section { padding: 74px 0; }
.section + .section { padding-top: 66px; }

@media (max-width: 991px) {
    .hero-section { padding: 78px 0 52px; }
    .section { padding: 54px 0; }
    .section + .section { padding-top: 48px; }
    .bg-light-primary.py-5 { padding-top: 36px !important; padding-bottom: 24px !important; }
}
@media (max-width: 767px) {
    main { padding-top: 62px !important; }
    .hero-section { padding: 66px 0 44px; }
    .hero-title { font-size: clamp(27px, 7vw, 34px); }
}
