/* =====================================================================
   FotoRize - site stilleri
   Tum renkler ve yazi tipleri tema degiskenlerinden (--t-*) gelir.
   Degiskenler Yonetim > Gorunum > Tema, Renkler ve Yazi Tipleri sayfasindan
   ayarlanir ve <head> icinde html[data-tema="acik|koyu"] olarak basilir.
   ===================================================================== */

/* ---------- Temel ---------- */
html { font-size: var(--t-boyut, 16px); }
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--t-sayfa);
    color: var(--t-yazi);
    font-family: var(--t-font);
    font-size: 1rem;
    -webkit-font-smoothing: antialiased;
    transition: background-color .2s ease, color .2s ease;
}
main { flex: 1; }
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-5, .display-6 {
    font-family: var(--t-font-baslik);
    font-weight: var(--t-baslik-kalin);
    color: var(--t-baslik);
    letter-spacing: -.01em;
}
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6 { color: var(--t-baslik); }

a { color: var(--t-link); }
a:hover { color: var(--bs-link-hover-color); }
.text-muted, .text-body-secondary { color: var(--t-soluk) !important; }
hr { border-color: var(--t-kenar); opacity: 1; }

/* ---------- Bootstrap bilesenlerinin temaya baglanmasi ---------- */
.card {
    --bs-card-bg: var(--t-kart);
    --bs-card-color: var(--t-kart-yazi);
    --bs-card-border-color: var(--t-kenar);
    --bs-card-cap-bg: var(--t-kart-baslik);
    --bs-card-border-radius: var(--t-kose);
    color: var(--t-kart-yazi);
}
.card-header { color: var(--t-baslik); }
.list-group {
    --bs-list-group-bg: var(--t-kart);
    --bs-list-group-color: var(--t-kart-yazi);
    --bs-list-group-border-color: var(--t-kenar);
    --bs-list-group-action-hover-bg: var(--t-kart-baslik);
    --bs-list-group-action-hover-color: var(--t-baslik);
    --bs-list-group-action-color: var(--t-kart-yazi);
    --bs-list-group-active-bg: var(--t-vurgu);
    --bs-list-group-active-border-color: var(--t-vurgu);
}
.bg-light, .bg-white, .bg-body-tertiary, .card-header.bg-light, .table-light, thead.table-light th {
    background-color: var(--t-kart-baslik) !important;
    color: var(--t-baslik) !important;
}
.bg-dark:not(.badge) { background-color: var(--t-menu) !important; color: var(--t-menu-yazi) !important; }
.text-dark:not(.badge) { color: var(--t-baslik) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--t-kenar) !important; }

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--t-kart-yazi);
    --bs-table-border-color: var(--t-kenar);
    --bs-table-striped-bg: rgba(127,127,127,.06);
    --bs-table-hover-bg: rgba(127,127,127,.09);
    --bs-table-hover-color: var(--t-baslik);
}

.form-control, .form-select, .input-group-text {
    background-color: var(--t-form);
    color: var(--t-form-yazi);
    border-color: var(--t-kenar);
}
.form-control::placeholder { color: var(--t-soluk); opacity: .8; }
.form-control:focus, .form-select:focus {
    background-color: var(--t-form);
    color: var(--t-form-yazi);
    border-color: var(--t-vurgu);
    box-shadow: 0 0 0 .2rem rgba(var(--t-vurgu-rgb), .2);
}
.form-check-input:checked { background-color: var(--t-vurgu); border-color: var(--t-vurgu); }
.form-label { font-weight: 500; }

.btn { border-radius: var(--t-kose); font-weight: 500; }
.btn-primary {
    --bs-btn-bg: var(--t-vurgu); --bs-btn-border-color: var(--t-vurgu); --bs-btn-color: var(--t-vurgu-yazi);
    --bs-btn-hover-bg: var(--t-vurgu-hover); --bs-btn-hover-border-color: var(--t-vurgu-hover); --bs-btn-hover-color: var(--t-vurgu-yazi);
    --bs-btn-active-bg: var(--t-vurgu-hover); --bs-btn-active-border-color: var(--t-vurgu-hover); --bs-btn-active-color: var(--t-vurgu-yazi);
    --bs-btn-disabled-bg: var(--t-vurgu); --bs-btn-disabled-border-color: var(--t-vurgu);
}
.btn-outline-primary {
    --bs-btn-color: var(--t-vurgu); --bs-btn-border-color: var(--t-vurgu);
    --bs-btn-hover-bg: var(--t-vurgu); --bs-btn-hover-border-color: var(--t-vurgu); --bs-btn-hover-color: var(--t-vurgu-yazi);
    --bs-btn-active-bg: var(--t-vurgu); --bs-btn-active-border-color: var(--t-vurgu); --bs-btn-active-color: var(--t-vurgu-yazi);
}
.btn-outline-secondary {
    --bs-btn-color: var(--t-yazi); --bs-btn-border-color: var(--t-kenar);
    --bs-btn-hover-bg: var(--t-kart-baslik); --bs-btn-hover-color: var(--t-baslik); --bs-btn-hover-border-color: var(--t-kenar);
}
.btn-light { --bs-btn-bg: var(--t-kart); --bs-btn-color: var(--t-baslik); --bs-btn-border-color: var(--t-kenar); }
.bg-primary, .badge.bg-primary, .text-bg-primary { background-color: var(--t-vurgu) !important; color: var(--t-vurgu-yazi) !important; }
.bg-info { background-color: var(--t-vurgu) !important; color: var(--t-vurgu-yazi) !important; }
.text-primary { color: var(--t-vurgu) !important; }
.badge { font-weight: 600; }

.nav-pills { --bs-nav-pills-link-active-bg: var(--t-vurgu); --bs-nav-pills-link-active-color: var(--t-vurgu-yazi); }
.nav-pills .nav-link { border-radius: 999px; color: var(--t-yazi); }
.nav-tabs { --bs-nav-tabs-border-color: var(--t-kenar); --bs-nav-tabs-link-active-bg: var(--t-kart); --bs-nav-tabs-link-active-color: var(--t-baslik); --bs-nav-tabs-link-active-border-color: var(--t-kenar) var(--t-kenar) var(--t-kart); }
.nav-tabs .nav-link { color: var(--t-soluk); }
.pagination {
    --bs-pagination-bg: var(--t-kart); --bs-pagination-color: var(--t-link); --bs-pagination-border-color: var(--t-kenar);
    --bs-pagination-hover-bg: var(--t-kart-baslik); --bs-pagination-hover-border-color: var(--t-kenar);
    --bs-pagination-active-bg: var(--t-vurgu); --bs-pagination-active-border-color: var(--t-vurgu); --bs-pagination-active-color: var(--t-vurgu-yazi);
    --bs-pagination-disabled-bg: var(--t-kart);
}
.dropdown-menu {
    --bs-dropdown-bg: var(--t-acilir);
    --bs-dropdown-color: var(--t-acilir-yazi);
    --bs-dropdown-link-color: var(--t-acilir-yazi);
    --bs-dropdown-link-hover-bg: rgba(var(--t-vurgu-rgb), .1);
    --bs-dropdown-link-hover-color: var(--t-vurgu);
    --bs-dropdown-link-active-bg: var(--t-vurgu);
    --bs-dropdown-border-color: var(--t-kenar);
    --bs-dropdown-header-color: var(--t-soluk);
    --bs-dropdown-divider-bg: var(--t-kenar);
    border-radius: var(--t-kose);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    font-family: var(--t-font-menu);
}
.dropdown-item { padding: .45rem 1rem; }
.dropdown-item i { width: 1.25rem; display: inline-block; opacity: .8; }
.modal { --bs-modal-bg: var(--t-kart); --bs-modal-color: var(--t-kart-yazi); --bs-modal-border-color: var(--t-kenar); }
.alert { border-radius: var(--t-kose); }
.alert-light { background: var(--t-kart); color: var(--t-kart-yazi); border-color: var(--t-kenar); }
.shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04) !important; }
html[data-tema="koyu"] .shadow-sm, html[data-tema="koyu"] .shadow { box-shadow: 0 1px 3px rgba(0,0,0,.5) !important; }
html[data-tema="koyu"] img.card-img-top, html[data-tema="koyu"] .card-img-top { background-color: var(--t-kart-baslik); }

/* ---------- Ust menu ---------- */
.site-ust { z-index: 1030; }
.site-menu {
    background: var(--t-menu);
    border-bottom: 1px solid var(--t-kenar);
    font-family: var(--t-font-menu);
    --bs-navbar-color: var(--t-menu-yazi);
    --bs-navbar-hover-color: var(--t-menu-aktif);
    --bs-navbar-active-color: var(--t-menu-aktif);
    --bs-navbar-brand-color: var(--t-baslik);
    --bs-navbar-brand-hover-color: var(--t-baslik);
    padding-top: .55rem; padding-bottom: .55rem;
}
.site-menu .navbar-brand { font-family: var(--t-font-baslik); font-weight: 700; color: var(--t-menu-yazi); letter-spacing: .2px; }
.site-menu .navbar-brand i { color: var(--t-vurgu); }
.site-menu .nav-link { font-weight: 500; white-space: nowrap; border-radius: var(--t-kose); padding-left: .75rem !important; padding-right: .75rem !important; }
.site-menu .nav-link.active { color: var(--t-menu-aktif); background: rgba(var(--t-vurgu-rgb), .1); }
.site-menu .navbar-toggler { border: 1px solid var(--t-kenar); color: var(--t-menu-yazi); font-size: 1.4rem; padding: .15rem .5rem; }
.site-menu .navbar-toggler:focus { box-shadow: none; }
.menu-arama { min-width: 220px; }
.btn-ikon {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 .5rem;
    color: var(--t-menu-yazi); background: transparent; border: 1px solid transparent; border-radius: var(--t-kose);
}
.btn-ikon:hover, .btn-ikon:focus, .btn-ikon.show { color: var(--t-menu-aktif); background: rgba(var(--t-vurgu-rgb), .1); }
.btn-ikon i { font-size: 1.15rem; }
.menu-rozet {
    position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px;
    border-radius: 9px; background: #dc3545; color: #fff; font-size: .65rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
.avatar-harf {
    width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--t-vurgu); color: var(--t-vurgu-yazi); font-weight: 700; font-size: .85rem;
}
.kullanici-dugme::after { margin-left: .4rem; }

/* Tema dugmesi ikonlari */
html[data-tema="acik"] .tema-ikon-acik { display: none !important; }
html[data-tema="koyu"] .tema-ikon-koyu { display: none !important; }

@media (max-width: 1199.98px) {
    .site-menu .navbar-collapse {
        margin-top: .5rem; padding: .5rem 0; border-top: 1px solid var(--t-kenar);
        max-height: calc(100vh - 140px); overflow-y: auto;
    }
    .site-menu .navbar-collapse .dropdown-menu { box-shadow: none; border: 0; background: transparent; padding-left: .75rem; }
    .menu-arama { min-width: 0; }
}

/* ---------- Yonetim alt menusu ---------- */
.admin-menu { background: var(--t-kart); border-bottom: 1px solid var(--t-kenar); font-family: var(--t-font-menu); font-size: .9rem; }
.admin-menu .nav { --bs-nav-link-color: var(--t-yazi); --bs-nav-link-hover-color: var(--t-vurgu); --bs-nav-underline-link-active-color: var(--t-vurgu); gap: .25rem 1rem; scrollbar-width: none; }
.admin-menu .nav::-webkit-scrollbar { display: none; }
.admin-menu .nav-link { white-space: nowrap; padding-top: .6rem; padding-bottom: .6rem; }
.admin-menu .nav-link.active { border-bottom-color: var(--t-vurgu); font-weight: 600; }
.admin-menu .dropdown-menu { position: absolute; }
/* Yonetim menusu: masaustunde tek satira sigar, dar ekranda kaydirilir (kenarda solma ile) */
.admin-nav { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; }
.admin-nav .nav-link i { margin-right: .15rem; }
.admin-nav .admin-nav-alt { font-weight: 400; opacity: .8; }
.admin-nav-menu { min-width: 15rem; }
.admin-nav-menu .dropdown-item { padding-top: .45rem; padding-bottom: .45rem; }
.admin-nav-menu .dropdown-item i { width: 1.4rem; display: inline-block; color: var(--t-vurgu); }
.admin-nav-menu .dropdown-item.active i { color: inherit; }
.admin-nav-menu .dropdown-header { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 991.98px) {
    .admin-menu .container { position: relative; }
    .admin-menu .container::after {
        content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 2rem; pointer-events: none;
        background: linear-gradient(to right, transparent, var(--t-kart));
    }
}

/* ---------- Alt bilgi ---------- */
.site-footer { background: var(--t-footer); color: var(--t-footer-yazi); }
.site-footer a { color: var(--t-footer-yazi); text-decoration: none; opacity: .85; }
.site-footer a:hover { opacity: 1; text-decoration: underline; }
.site-footer li { margin-bottom: .35rem; }
.footer-marka { font-family: var(--t-font-baslik); font-weight: 700; font-size: 1.25rem; color: var(--t-footer-yazi); }
.footer-baslik { font-family: var(--t-font-menu); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--t-footer-yazi); opacity: .65; margin-bottom: .75rem; font-weight: 600; }
.footer-alt { border-top: 1px solid rgba(127,127,127,.25); }
.footer-tema { color: var(--t-footer-yazi); border: 1px solid rgba(127,127,127,.35); }
.footer-tema:hover { color: var(--t-footer-yazi); background: rgba(127,127,127,.15); }

/* ---------- Telefon alt menusu ---------- */
.alt-menu {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
    display: flex; justify-content: space-around; align-items: stretch;
    background: var(--t-alt-menu); border-top: 1px solid var(--t-kenar);
    box-shadow: 0 -2px 12px rgba(0,0,0,.08);
    padding-bottom: env(safe-area-inset-bottom);
    font-family: var(--t-font-menu);
}
.alt-menu a {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 6px 2px; min-height: 58px; font-size: .7rem; color: var(--t-alt-menu-yazi); text-decoration: none;
}
.alt-menu a i { font-size: 1.3rem; line-height: 1.15; }
.alt-menu a.aktif { color: var(--t-vurgu); font-weight: 600; }
.alt-menu a.alt-menu-yukle i {
    background: var(--t-vurgu); color: var(--t-vurgu-yazi); border-radius: 50%; width: 42px; height: 42px;
    display: flex; align-items: center; justify-content: center; margin-top: -18px;
    box-shadow: 0 3px 10px rgba(var(--t-vurgu-rgb), .45);
}
@media (max-width: 1199.98px) {
    body.has-alt-menu { padding-bottom: 66px; }
}

/* ---------- Genel duzen ---------- */
.card-img-top { height: 220px; object-fit: cover; background-color: var(--t-kart-baslik); }
.list-group-item-action:hover { background-color: var(--t-kart-baslik); }

.home-section {
    background: var(--t-bolum);
    color: var(--t-yazi);
    padding: 1.5rem;
    margin-bottom: 1.25rem;
    border-radius: calc(var(--t-kose) + 4px);
    border: 1px solid var(--t-kenar);
}
.home-section.home-editor_secimi, .home-section.home-hero { background: transparent; border: 0; padding: 0; }
.home-section.home-duyurular { padding: 1rem 1.25rem; }

.hero-bant {
    background: linear-gradient(135deg, rgba(var(--t-vurgu-rgb), .14), rgba(var(--t-editor-rgb), .12)), var(--t-kart);
    border: 1px solid var(--t-kenar);
    border-radius: calc(var(--t-kose) + 6px);
}

@media (max-width: 991.98px) {
    main.container { padding-left: .75rem; padding-right: .75rem; }
    .home-section { padding: 1rem .85rem; }
    .display-5 { font-size: 1.8rem; }
    .fs-4 { font-size: 1.05rem !important; }
}
@media (max-width: 575.98px) {
    .card-img-top { height: 150px; }
    h1.h3, .h3 { font-size: 1.3rem; }
    .btn-lg { padding: .45rem .9rem; font-size: 1rem; }
}

/* ---------- Vitrin / One cikanlar ---------- */
.vitrin-kart .card-img-top { height: 200px; }
@media (max-width: 575.98px) { .vitrin-kart .card-img-top { height: 140px; } }
.vitrin-sira {
    position: absolute; left: 8px; top: 8px; min-width: 30px; height: 30px; padding: 0 6px;
    border-radius: 15px; background: rgba(0,0,0,.65); color: #fff; font-weight: 700;
    display: flex; align-items: center; justify-content: center; font-size: .9rem;
}
.vitrin-sira-1 { background: var(--t-editor); color: #1a1a1a; }

/* ---------- Editorun secimi ---------- */
.editor-secimi { border: 2px solid var(--t-editor); }
.editor-secimi-foto { max-height: 560px; width: auto; object-fit: contain; }
@media (max-width: 991.98px) { .editor-secimi-foto { max-height: 380px; } }
.editor-rozet {
    position: absolute; left: 12px; top: 12px; background: var(--t-editor); color: #1a1a1a;
    font-weight: 700; font-size: .8rem; padding: 4px 10px; border-radius: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.editor-degerlendirme {
    border-left: 4px solid var(--t-editor); padding: .5rem .75rem; background: rgba(var(--t-editor-rgb), .1);
    border-radius: 0 var(--t-kose) var(--t-kose) 0; font-size: .95rem; line-height: 1.6; color: var(--t-kart-yazi);
}
.editor-degerlendirme-kart { border: 1px solid var(--t-editor); }
.editor-degerlendirme-kart .card-header { background: rgba(var(--t-editor-rgb), .2); }
.editor-panel .card-header { background: var(--t-menu); color: var(--t-menu-yazi); }

/* ---------- Duyurular ---------- */
.duyuru-serit {
    display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory;
    padding-bottom: .25rem; -webkit-overflow-scrolling: touch;
}
.duyuru-kart {
    flex: 0 0 260px; scroll-snap-align: start; background: var(--t-kart); color: var(--t-kart-yazi);
    border: 1px solid var(--t-kenar); border-radius: var(--t-kose); padding: .75rem;
}
.duyuru-kart strong { color: var(--t-baslik); }
.duyuru-kart:hover { border-color: var(--t-vurgu); }
.duyuru-onemli { border-left: 4px solid #dc3545; }
@media (min-width: 992px) {
    .duyuru-serit { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); overflow: visible; }
}
.duyuru-icerik { font-size: 1.02rem; line-height: 1.7; }

/* ---------- Yonetim: tema ayarlari ---------- */
.tema-alan { display: flex; align-items: center; gap: .5rem; padding: .4rem 0; border-bottom: 1px dashed var(--t-kenar); }
.tema-alan:last-child { border-bottom: 0; }
.tema-alan label { flex: 1; margin: 0; font-size: .9rem; }
.tema-alan input[type=color] { width: 44px; height: 34px; padding: 2px; border-radius: 8px; cursor: pointer; flex-shrink: 0; }
.tema-alan .renk-kod { width: 92px; font-family: ui-monospace, monospace; font-size: .85rem; flex-shrink: 0; }
.tema-alan select, .tema-alan .sayi { width: 170px; flex-shrink: 0; }
.tema-onizleme { border: 1px solid #8884; border-radius: 12px; overflow: hidden; font-size: 14px; }
.tema-onizleme .on-menu { padding: .6rem 1rem; display: flex; gap: 1rem; align-items: center; }
.tema-onizleme .on-govde { padding: 1rem; }
.tema-onizleme .on-kart { border-radius: 8px; overflow: hidden; border: 1px solid; }
.tema-onizleme .on-kart-baslik { padding: .45rem .75rem; font-weight: 600; }
.tema-onizleme .on-kart-govde { padding: .75rem; }
.tema-onizleme .on-buton { display: inline-block; padding: .35rem .8rem; border-radius: 6px; font-weight: 600; }
.tema-onizleme .on-footer { padding: .6rem 1rem; font-size: 12px; }
.site-menu .btn { white-space: nowrap; }

/* ---------- Cevrimici durum gostergesi ---------- */
.profil-avatar { position: relative; display: inline-block; }
.durum-nokta {
    display: inline-block; width: 10px; height: 10px; border-radius: 50%;
    vertical-align: middle; background: #9ca3af;
}
.durum-nokta.cevrimici { background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: cevrimici-nabiz 2s infinite; }
.profil-avatar > .durum-nokta {
    position: absolute; right: 6px; bottom: 6px; width: 18px; height: 18px;
    border: 3px solid var(--t-sayfa);
}
.profil-avatar > .durum-nokta-buyuk { right: 12px; bottom: 12px; width: 26px; height: 26px; border-width: 4px; }
.profil-avatar-kucuk > .durum-nokta { right: 2px; bottom: 2px; width: 18px; height: 18px; border-color: var(--t-kart); }
.durum-rozet { font-weight: 500; font-size: .85rem; padding: .4em .8em; }
.durum-rozet.cevrimici { background: rgba(34,197,94,.15); color: #15803d; }
html[data-tema="koyu"] .durum-rozet.cevrimici { color: #4ade80; }
.durum-rozet.cevrimdisi { background: var(--t-kart-baslik); color: var(--t-soluk); }
@keyframes cevrimici-nabiz {
    0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); }
    70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) { .durum-nokta.cevrimici { animation: none; } }

/* ---------- Haber / gezi gunlugu / kose yazisi ---------- */
.icerik-arama { width: 100%; max-width: 380px; }
@media (max-width: 575.98px) { .icerik-arama { max-width: none; } }
.icerik-kart { transition: border-color .15s ease, transform .15s ease; }
.icerik-kart:hover { border-color: var(--t-vurgu); }
.icerik-kart-resim { width: 100%; height: 100%; min-height: 180px; max-height: 260px; object-fit: cover; border-radius: var(--t-kose) 0 0 var(--t-kose); }
@media (max-width: 767.98px) { .icerik-kart-resim { border-radius: var(--t-kose) var(--t-kose) 0 0; max-height: 200px; } }
.icerik-ozet { line-height: 1.65; color: var(--t-kart-yazi); }
.icerik-ozet mark, .card-title mark { background: rgba(var(--t-editor-rgb), .35); color: inherit; padding: 0 .1em; border-radius: 3px; }
.icerik-devami { color: var(--t-vurgu); }
.icerik-devami:hover { text-decoration: underline !important; }
.icerik-kapak { height: auto; max-height: 460px; object-fit: cover; }
.icerik-metin { font-size: 1.05rem; line-height: 1.8; }
.icerik-metin p { margin-bottom: 1rem; }
.breadcrumb { --bs-breadcrumb-divider-color: var(--t-soluk); --bs-breadcrumb-item-active-color: var(--t-soluk); }

/* ---------- Yukleme sozlesmesi onayi ---------- */
.sozlesme-onay { background: rgba(var(--t-vurgu-rgb), .06); border: 1px solid var(--t-kenar); border-radius: var(--t-kose); padding: .75rem .9rem; }
.sozlesme-onay .form-check-input { width: 1.2em; height: 1.2em; margin-top: .2em; }
.sozlesme-onay a { font-weight: 600; }
.icerik-metin h3 { font-size: 1.1rem; margin-top: 1.5rem; }
.icerik-metin ul { padding-left: 1.25rem; }
.icerik-metin li { margin-bottom: .4rem; }

/* Fotograflar menusu: kategoriler iki sutun */
.menu-kategoriler { display: grid; grid-template-columns: 1fr; }
@media (min-width: 1200px) {
    .menu-kategoriler { grid-template-columns: repeat(2, minmax(190px, 1fr)); }
    .menu-kategoriler .dropdown-item { white-space: nowrap; }
}

/* ---------- Logo, ust duyuru bandi, alt bilgi iletisim/sosyal ---------- */
.site-logo { max-height: 40px; width: auto; display: block; }
.footer-marka .site-logo { max-height: 48px; }
.ust-bant { font-size: .9rem; padding: .45rem 0; color: #fff; background: var(--t-vurgu); }
.ust-bant a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ust-bant-uyari { background: #f59e0b; color: #1a1a1a; }
.ust-bant-uyari .btn-close { filter: none; }
.ust-bant-basari { background: #16a34a; }
.ust-bant-tehlike { background: #dc2626; }
.footer-iletisim li { margin-bottom: .35rem; }
.footer-iletisim i { opacity: .7; margin-right: .35rem; }
.footer-sosyal a {
    width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(127,127,127,.18); opacity: 1 !important; text-decoration: none !important; font-size: 1.05rem;
}
.footer-sosyal a:hover { background: var(--t-vurgu); color: var(--t-vurgu-yazi); }

/* Yonetim: menuler ve site ayarlari */
.menu-oge-alt { padding-left: 2.75rem; background: var(--t-kart-baslik); }
.menu-oge-pasif > div:first-child { opacity: .55; }
.gorsel-onizleme { min-height: 64px; display: flex; align-items: center; padding: .5rem; border: 1px dashed var(--t-kenar); border-radius: var(--t-kose); background: var(--t-kart-baslik); }
.site-menu .navbar-brand { flex-shrink: 0; display: flex; align-items: center; gap: .35rem; }
.menu-url { max-width: 260px; }
@media (max-width: 575.98px) { .menu-url { max-width: 140px; } }
.kullanici-dugme { max-width: 220px; }
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .menu-arama { min-width: 0; width: 170px; }
    .site-menu .nav-link { padding-left: .55rem !important; padding-right: .55rem !important; }
}
.kullanici-adi { display: none; max-width: 140px; }
@media (min-width: 1600px) { .kullanici-adi { display: inline-block; vertical-align: middle; } }

/* Yukleme: kategori secimi */
.kategori-secim { display: flex; flex-wrap: wrap; gap: .4rem; }
.kategori-secim .btn { border-radius: 999px; }
.kategori-secim .btn-check:checked + .btn { background: var(--t-vurgu); border-color: var(--t-vurgu); color: var(--t-vurgu-yazi); }
.kategori-secim .btn-check:disabled + .btn { opacity: .4; }
.kategori-dolu #kategoriSayac { color: var(--t-vurgu); font-weight: 700; }

/* Paylasim butonlari */
.paylas-btn {
    --paylas-renk: var(--t-vurgu);
    color: var(--paylas-renk); border: 1px solid var(--t-kenar); background: var(--t-kart);
    display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; padding: .3rem .75rem;
}
.paylas-btn:hover, .paylas-btn:focus, .paylas-btn.show { background: var(--paylas-renk); border-color: var(--paylas-renk); color: #fff; }
.paylas-btn span { color: var(--t-kart-yazi); }
.paylas-btn:hover span, .paylas-btn:focus span { color: #fff; }
html[data-tema="koyu"] .paylas-x { --paylas-renk: #e5e7eb !important; }
html[data-tema="koyu"] .paylas-x:hover { color: #111; }
html[data-tema="koyu"] .paylas-x:hover span { color: #111; }

/* Uye ol: kullanici adi kontrolu */
.ad-durum-ikon { min-width: 2.6rem; justify-content: center; }
.ad-durum-ikon .bi-check-circle-fill, .ad-durum-musait { color: #16a34a; }
.ad-durum-ikon .bi-x-circle-fill, .ad-durum-alinmis, .ad-durum-ikon .bi-exclamation-circle-fill, .ad-durum-gecersiz { color: #dc2626; }
html[data-tema="koyu"] .ad-durum-musait, html[data-tema="koyu"] .ad-durum-ikon .bi-check-circle-fill { color: #4ade80; }
html[data-tema="koyu"] .ad-durum-alinmis, html[data-tema="koyu"] .ad-durum-gecersiz { color: #f87171; }
.ad-durum-musait, .ad-durum-alinmis, .ad-durum-gecersiz { font-weight: 500; }
.ad-oneriler { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .5rem; }
.ad-oneriler .btn { border-radius: 999px; padding: .15rem .65rem; }
#username.is-valid, #username.is-invalid { background-image: none; padding-right: .75rem; }

/* Kayit formu robot tuzagi (ekranda gorunmez, ekran okuyucudan da gizli) */
.tuzak-alan { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Hesap dogrulama */
.dogrulama-ikon { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--t-vurgu-rgb), .12); color: var(--t-vurgu); font-size: 1.3rem; flex-shrink: 0; }
.dogrulama-adim.tamam .dogrulama-ikon { background: rgba(34,197,94,.15); color: #16a34a; }
.kod-girdi { font-size: 1.35rem; letter-spacing: .45em; text-align: center; font-variant-numeric: tabular-nums; }
.dogrulama-modul { border: 1px solid var(--t-kenar); border-radius: var(--t-kose); padding: 1rem; background: var(--t-kart-baslik); }

/* Admin: fotograf silme secenekleri */
.sil-menu { min-width: 19rem; max-width: calc(100vw - 2rem); }
.sil-menu .dropdown-item { white-space: normal; padding-top: .5rem; padding-bottom: .5rem; }

/* ---------- Admin: uye yonetimi ---------- */
.uye-sekmeler {
    display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin;
}
.uye-sekme {
    display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap;
    padding: .45rem .8rem; border-radius: 999px; text-decoration: none; font-size: .9rem;
    border: 1px solid var(--t-kenar); background: var(--t-kart); color: var(--t-yazi);
    transition: border-color .15s, background-color .15s, color .15s;
}
.uye-sekme:hover { border-color: var(--t-vurgu); color: var(--t-vurgu); }
.uye-sekme.aktif { background: var(--t-vurgu); border-color: var(--t-vurgu); color: var(--t-vurgu-yazi); }
.uye-sekme.bos { opacity: .6; }
.uye-sekme .sekme-sayi { background: rgba(var(--t-vurgu-rgb, 37,99,235), .12); color: inherit; font-weight: 600; }
.uye-sekme.aktif .sekme-sayi { background: rgba(255,255,255,.25); }

.uye-liste { display: flex; flex-direction: column; gap: .6rem; }
.uye-kart {
    background: var(--t-kart); border: 1px solid var(--t-kenar); border-radius: var(--t-kose, .75rem);
    transition: box-shadow .15s, border-color .15s;
}
.uye-kart:hover { box-shadow: 0 4px 18px rgba(0,0,0,.06); }
.uye-kart.cezali { border-left: 4px solid #dc3545; }
.uye-ust { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; }
.uye-avatar { position: relative; flex: 0 0 52px; width: 52px; height: 52px; }
.uye-avatar img, .uye-avatar > span {
    width: 52px; height: 52px; border-radius: 50%; object-fit: cover; display: flex; align-items: center; justify-content: center;
    background: var(--t-vurgu); color: var(--t-vurgu-yazi); font-weight: 700; font-size: 1.25rem;
}
.uye-avatar .durum-nokta { position: absolute; right: 0; bottom: 0; width: 14px; height: 14px; border: 2px solid var(--t-kart); }
.uye-bilgi { flex: 1 1 auto; min-width: 0; }
.uye-ad { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; font-weight: 600; }
.uye-ad a { color: var(--t-baslik); text-decoration: none; }
.uye-ad a:hover { color: var(--t-vurgu); }
.uye-ad .text-muted { font-weight: 400; font-size: .9rem; }
.rol-rozet { font-weight: 600; }
.rol-yonetici { background: rgba(220,53,69,.12); color: #dc3545; }
.rol-editor { background: rgba(var(--t-vurgu-rgb, 37,99,235), .12); color: var(--t-vurgu); }
.uye-meta { display: flex; flex-wrap: wrap; gap: .2rem 1rem; font-size: .82rem; color: var(--t-soluk, #6c757d); margin-top: .2rem; }
.uye-meta span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.uye-ceza { font-size: .82rem; color: #dc3545; margin-top: .25rem; }
.uye-sayilar { gap: 1.25rem; text-align: center; }
.uye-sayilar strong { display: block; font-size: 1.1rem; color: var(--t-baslik); line-height: 1.1; }
.uye-sayilar small { color: var(--t-soluk, #6c757d); font-size: .72rem; }
.uye-islem { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; flex: 0 0 auto; }
.uye-panel { border-top: 1px dashed var(--t-kenar); padding: 1rem; }
.uye-bolum { border: 1px solid var(--t-kenar); border-radius: .6rem; padding: .85rem; background: var(--t-sayfa); }
.uye-bolum-baslik { font-size: .95rem; font-weight: 600; margin-bottom: .6rem; }
.yetki-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; }
.yetki-grup { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: var(--t-soluk, #6c757d); font-weight: 600; margin-bottom: .15rem; }
@media (max-width: 767.98px) {
    .uye-ust { flex-wrap: wrap; gap: .75rem; padding: .75rem; }
    .uye-avatar { flex-basis: 44px; width: 44px; height: 44px; }
    .uye-avatar img, .uye-avatar > span { width: 44px; height: 44px; font-size: 1.05rem; }
    .uye-bilgi { flex-basis: calc(100% - 60px); }
    .uye-islem { width: 100%; justify-content: flex-start; padding-left: 56px; }
    .uye-panel { padding: .75rem; }
}
.uye-avatar [hidden] { display: none !important; }
@media (min-width: 992px) { .uye-sekmeler { flex-wrap: wrap; overflow: visible; } }

/* ---------- Reklamlar ---------- */
.reklam-alani { position: relative; text-align: center; clear: both; }
.reklam-alani .reklam-etiket {
    font-size: .65rem; letter-spacing: .08em; text-transform: uppercase;
    color: var(--t-soluk, #6c757d); margin-bottom: .25rem;
}
.reklam-alani .reklam-ic { display: flex; justify-content: center; overflow: hidden; }
.reklam-alani .reklam-ic > * { max-width: 100%; }
.reklam-alani .reklam-ic img { max-width: 100%; height: auto; border-radius: .5rem; display: block; }
.reklam-alani ins.adsbygoogle { width: 100%; min-height: 90px; }
.reklam-foto_yan ins.adsbygoogle { min-height: 250px; }
.reklam-yer-tutucu {
    border: 2px dashed rgba(var(--t-vurgu-rgb, 37,99,235), .55); border-radius: .75rem;
    background: rgba(var(--t-vurgu-rgb, 37,99,235), .05); min-height: 90px;
    display: flex; align-items: center; justify-content: center; padding: 1rem; color: var(--t-vurgu);
}
.reklam-yer-tutucu strong { display: block; }
.reklam-yer-tutucu span { font-size: .8rem; opacity: .8; }
.reklam-foto_yan.reklam-yer-tutucu { min-height: 250px; }
.reklam-onizleme-ad {
    position: absolute; top: 0; left: 0; font-size: .7rem; padding: .1rem .45rem; border-radius: 0 0 .4rem 0;
    background: var(--t-vurgu); color: var(--t-vurgu-yazi);
}
.reklam-onizleme-bant {
    position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(76px + env(safe-area-inset-bottom)); z-index: 1060;
    display: flex; align-items: center; gap: .6rem; padding: .45rem .9rem; border-radius: 999px;
    background: #111827; color: #fff; font-size: .85rem; box-shadow: 0 6px 24px rgba(0,0,0,.25); white-space: nowrap;
}
.reklam-onizleme-bant a { color: #93c5fd; }
@media (min-width: 992px) { .reklam-onizleme-bant { bottom: 1.25rem; } }

/* Yonetim: reklam listesi */
.reklam-ozet i { color: var(--t-vurgu); }
.reklam-liste { display: flex; flex-direction: column; gap: .6rem; }
.reklam-satir {
    display: flex; align-items: center; gap: 1rem; padding: .8rem 1rem;
    background: var(--t-kart); border: 1px solid var(--t-kenar); border-radius: var(--t-kose, .75rem);
}
.reklam-satir.pasif { opacity: .7; }
.reklam-onizleme-kucuk {
    flex: 0 0 96px; width: 96px; height: 56px; border-radius: .5rem; overflow: hidden;
    background: rgba(var(--t-vurgu-rgb, 37,99,235), .08); color: var(--t-vurgu);
    display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
}
.reklam-onizleme-kucuk img { width: 100%; height: 100%; object-fit: cover; }
.reklam-meta { display: flex; flex-wrap: wrap; gap: .15rem .9rem; margin-top: .15rem; }
.reklam-sayac { display: flex; gap: 1.1rem; text-align: center; }
.reklam-sayac strong { display: block; color: var(--t-baslik); line-height: 1.1; }
.reklam-sayac small { font-size: .7rem; color: var(--t-soluk, #6c757d); white-space: nowrap; }
.reklam-islem { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.reklam-gorsel-onizleme { border: 1px solid var(--t-kenar); border-radius: .5rem; padding: .35rem; background: var(--t-sayfa); text-align: center; }
.reklam-gorsel-onizleme img { max-height: 120px; max-width: 100%; }
.reklam-tur-sec .btn { white-space: normal; }
.min-w-0 { min-width: 0; }
@media (max-width: 991.98px) {
    .reklam-satir { flex-wrap: wrap; }
    .reklam-satir > .flex-grow-1 { flex-basis: calc(100% - 112px); }
    .reklam-sayac { width: 100%; justify-content: flex-start; }
    .reklam-islem { width: 100%; justify-content: flex-start; }
}

/* Yonetim: veritabani temizligi */
.vt-oge { display: flex; gap: .6rem; align-items: flex-start; padding: .55rem .7rem; border: 1px solid var(--t-kenar); border-radius: .5rem; height: 100%; cursor: pointer; background: var(--t-kart); }
.vt-oge:hover { border-color: var(--t-vurgu); }
.vt-oge input { margin-top: .2rem; flex: 0 0 auto; }
.vt-kolon { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem; border: 1px solid var(--t-kenar); border-radius: 999px; cursor: pointer; background: var(--t-kart); }

/* ---------- Admin: fotograf yonetimi ---------- */
.foto-yonetim-liste { display: flex; flex-direction: column; gap: .6rem; }
.foto-kart { background: var(--t-kart); border: 1px solid var(--t-kenar); border-radius: var(--t-kose, .75rem); }
.foto-kart.askida { border-left: 4px solid #f59e0b; }
.foto-kart.onay { border-left: 4px solid #0dcaf0; }
.foto-kart-ust { display: flex; gap: 1rem; align-items: center; padding: .85rem 1rem .5rem; }
.foto-kart-resim { flex: 0 0 96px; width: 96px; height: 96px; border-radius: .6rem; overflow: hidden; background: rgba(0,0,0,.05); }
.foto-kart-resim img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.foto-kart-resim:hover img { transform: scale(1.05); }
.foto-kart-bilgi { flex: 1 1 auto; min-width: 0; }
.foto-kart-baslik { font-weight: 600; display: flex; gap: .5rem; align-items: baseline; flex-wrap: wrap; }
.foto-kart-baslik a { color: var(--t-baslik); text-decoration: none; }
.foto-kart-baslik a:hover { color: var(--t-vurgu); }
.foto-rozet-af { background: #fbbf24; color: #3b2a00; }
.foto-kart-islem { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; padding: .25rem 1rem .85rem calc(96px + 2rem); }
.foto-paneller .uye-panel { margin: 0; }
@media (max-width: 767.98px) {
    .foto-kart-ust { align-items: flex-start; padding: .75rem .75rem .5rem; gap: .75rem; }
    .foto-kart-resim { flex-basis: 72px; width: 72px; height: 72px; }
    .foto-kart-islem { padding: .25rem .75rem .75rem; }
}

/* Yonetim: yedekleme */
.yedek-liste { display: flex; flex-direction: column; gap: .5rem; }
.yedek-satir { display: flex; align-items: center; gap: .9rem; padding: .6rem .8rem; border: 1px solid var(--t-kenar); border-radius: .6rem; flex-wrap: wrap; }
.sifir-oge.zorunlu { border-color: #dc3545; background: rgba(220,53,69,.05); }
.sifir-oge .sifir-gerek { margin-top: .2rem; }

/* Yonetim: guvenlik */
.kayit-zaman { flex: 0 0 6.5rem; padding-top: .1rem; }
@media (max-width: 575.98px) { .kayit-liste .list-group-item { flex-direction: column; gap: .25rem !important; } .kayit-zaman { flex-basis: auto; } }
