/* ============================================================
   Site tema sistemi — tüm vitrin bileşenleri
   Değişkenler includes/theme-presets.php → :root enjeksiyonu
   ============================================================ */

/* --- Genel sayfa --- */
.site-theme {
    background: var(--theme-bg);
    color: var(--theme-text);
}
.site-theme main {
    background: var(--theme-bg);
    color: var(--theme-text);
}
.site-theme .theme-page-bg,
.site-theme .account-page {
    background: var(--theme-profile-bg) !important;
}
.site-theme h1,
.site-theme h2,
.site-theme h3,
.site-theme .theme-heading {
    color: var(--theme-heading);
}

/* Koyu arka plan / hero — başlık ve metinler beyaz kalmalı */
.site-theme .text-white h1,
.site-theme .text-white h2,
.site-theme .text-white h3,
.site-theme .text-white h4,
.site-theme .text-white .theme-heading,
.site-theme .text-white p[role="heading"],
.site-theme h1.text-white,
.site-theme h2.text-white,
.site-theme h3.text-white,
.site-theme h4.text-white,
.site-theme .account-hero,
.site-theme .account-hero :is(h1, h2, h3, h4),
.site-theme .theme-hero-overlay :is(h1, h2, h3, h4, p[role="heading"]),
.site-theme .bg-black :is(h1, h2, h3, h4),
.site-theme [class*="bg-black/"] :is(h1, h2, h3, h4),
.site-theme .campaign-bar :is(h1, h2, h3, h4) {
    color: #ffffff !important;
}
/* Modal overlay (cart-modal-backdrop) bg-black/ kullanmaz — başlıklar panel içinde koyu kalır */
.site-theme .cart-modal__panel :is(h1, h2, h3, h4),
.site-theme #favoriteModal .bg-white :is(h1, h2, h3, h4),
.site-theme #orderSuccessModal .bg-white :is(h1, h2, h3, h4) {
    color: var(--theme-heading, #111827) !important;
}
.site-theme .text-gray-600,
.site-theme .text-gray-500,
.site-theme .text-gray-400 {
    color: var(--theme-text-muted) !important;
}
.site-theme .text-gray-700,
.site-theme .text-gray-800,
.site-theme .text-gray-900 {
    color: var(--theme-text) !important;
}
.site-theme .bg-white {
    background-color: var(--theme-surface) !important;
}
.site-theme .bg-gray-50,
.site-theme .bg-gray-100 {
    background-color: var(--theme-surface-alt) !important;
}
.site-theme .border-gray-100,
.site-theme .border-gray-200,
.site-theme .border-gray-300 {
    border-color: var(--theme-border) !important;
}
.site-theme .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
.site-theme .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--theme-border) !important;
}

/* --- Duyuru bandı --- */
.site-theme .theme-announcement {
    background: var(--theme-announcement-bg);
    color: var(--theme-announcement-text);
}

/* --- Header --- */
.site-theme .theme-header {
    background: var(--theme-header-bg);
    color: var(--theme-header-text);
    border-color: var(--theme-header-border) !important;
}
.site-theme .theme-header .header-util,
.site-theme .theme-header .header-action-btn,
.site-theme .theme-header .header-lang-link,
.site-theme .theme-header #mobileMenuBtn {
    color: var(--theme-header-text);
}
.site-theme .theme-header .header-action-btn:hover {
    background: rgba(255, 255, 255, 0.08);
}
.site-theme .theme-header .header-lang-link.is-active,
.site-theme .theme-header .header-lang-link:hover {
    color: var(--theme-accent);
}
.site-theme .theme-header .header-logo-word--main {
    color: var(--theme-logo-main-color);
}
.site-theme .theme-header .header-logo-word--accent {
    background: var(--theme-logo-accent-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Desktop navigasyon */
.site-theme .theme-main-nav {
    border-color: var(--theme-nav-border) !important;
}
.site-theme .theme-nav-link-default {
    color: var(--theme-nav-text) !important;
}
.site-theme .theme-nav-link-default:hover {
    color: var(--theme-nav-hover) !important;
}
.site-theme .theme-nav-new {
    color: var(--theme-nav-active, var(--theme-accent)) !important;
}
.site-theme .theme-mega-inner {
    background: var(--theme-mega-bg) !important;
    border-color: var(--theme-mega-border) !important;
    border-radius: var(--theme-radius);
    box-shadow: var(--theme-shadow);
}
.site-theme .theme-mega-link {
    color: var(--theme-mega-text) !important;
}
.site-theme .theme-mega-link:hover {
    color: var(--theme-mega-link-hover) !important;
}
.site-theme .theme-mega-all {
    color: var(--theme-mega-title) !important;
    border-color: var(--theme-border) !important;
}

/* Arama */
.site-theme .theme-input,
.site-theme #liveSearchInput,
.site-theme #mobileSearchInput {
    background: var(--theme-input-bg) !important;
    border-color: var(--theme-input-border) !important;
    color: var(--theme-input-text) !important;
    border-radius: var(--theme-radius);
}
.site-theme .theme-input:focus,
.site-theme #liveSearchInput:focus,
.site-theme #mobileSearchInput:focus {
    border-color: var(--theme-input-focus) !important;
    outline: none;
}
.site-theme .theme-search-results,
.site-theme #liveSearchResults,
.site-theme #mobileSearchResults {
    background: var(--theme-surface) !important;
    border-color: var(--theme-border) !important;
    color: var(--theme-text);
}
.site-theme #liveSearchResults a:hover,
.site-theme #mobileSearchResults a:hover {
    background: var(--theme-surface-alt) !important;
}

/* Mobil menü */
.site-theme .theme-mobile-menu {
    background: var(--theme-mobile-bg) !important;
    border-color: var(--theme-mobile-border) !important;
    color: var(--theme-mobile-text);
}
.site-theme .theme-mobile-menu a {
    color: var(--theme-mobile-text);
}
.site-theme .theme-mobile-menu a:hover {
    color: var(--theme-nav-hover);
}
.site-theme .theme-mobile-link {
    border-color: var(--theme-mobile-border) !important;
    color: var(--theme-mobile-text) !important;
}
.site-theme .theme-mobile-link.theme-nav-new {
    color: var(--theme-accent) !important;
}

.site-theme .theme-mobile-border {
    border-color: var(--theme-mobile-border) !important;
}
.site-theme .theme-mobile-menu .mobile-menu-section {
    border-color: var(--theme-mobile-border) !important;
}
.site-theme .theme-mobile-menu .mobile-menu-section-title {
    color: var(--theme-mobile-muted, #9ca3af);
}
.site-theme .theme-mobile-menu .mobile-menu-link:hover {
    background: rgba(255, 255, 255, 0.06);
}
.site-theme .theme-mobile-menu .mobile-menu-head {
    background: var(--theme-mobile-bg) !important;
    border-color: var(--theme-mobile-border) !important;
}
.site-theme .theme-mobile-menu .mobile-nav-group {
    border-color: var(--theme-mobile-border) !important;
}

/* --- Footer --- */
.site-theme .theme-footer {
    background: var(--theme-footer-bg);
    color: var(--theme-footer-text);
}
.site-theme .theme-footer .theme-footer-muted {
    color: var(--theme-footer-muted);
}
.site-theme .theme-footer .theme-footer-border {
    border-color: var(--theme-footer-border);
}
.site-theme .theme-footer a:hover {
    color: var(--theme-footer-text);
}
.site-theme .theme-footer .footer-brand {
    color: var(--theme-footer-text);
}
.site-theme .theme-footer .footer-brand-name {
    color: var(--theme-footer-text);
}
.site-theme .theme-footer .footer-brand-img {
    filter: none;
}
.site-theme .theme-footer .theme-newsletter-btn {
    background: var(--theme-secondary);
    color: var(--theme-primary);
    border-radius: var(--theme-radius);
}
.site-theme .theme-footer .theme-newsletter-input {
    background: var(--theme-surface);
    color: var(--theme-text);
    border-radius: var(--theme-radius);
}
.site-theme .footer-social-link {
    background: var(--theme-footer-social-bg);
    border-color: transparent;
}
.site-theme .footer-social-link:hover {
    background: var(--theme-footer-social-hover);
    color: var(--theme-footer-text);
    border-color: transparent;
}
.site-theme .payment-logos {
    border-top-color: var(--theme-footer-border);
}

/* --- Butonlar (Tailwind override) --- */
.site-theme .theme-btn-primary,
.site-theme button.bg-black,
.site-theme a.bg-black,
.site-theme .quick-add-cart-btn {
    background-color: var(--theme-btn-bg) !important;
    color: var(--theme-btn-text) !important;
    border-radius: var(--theme-radius);
}
.site-theme .hover\:bg-gray-800:hover,
.site-theme a.hover\:bg-gray-800:hover,
.site-theme button.hover\:bg-gray-800:hover,
.site-theme .quick-add-cart-btn:hover {
    background-color: var(--theme-btn-hover) !important;
}
.site-theme .border-black,
.site-theme .border-2.border-black {
    border-color: var(--theme-btn-outline-border) !important;
}
.site-theme .hover\:bg-black:hover {
    background-color: var(--theme-btn-bg) !important;
    color: var(--theme-btn-text) !important;
}
.site-theme .hover\:border-black:hover {
    border-color: var(--theme-link) !important;
}
.site-theme .hover\:text-black:hover,
.site-theme .group:hover .group-hover\:text-black {
    color: var(--theme-link) !important;
}
.site-theme .text-black {
    color: var(--theme-text) !important;
}
.site-theme .focus\:border-black:focus {
    border-color: var(--theme-input-focus) !important;
}

/* --- Rozetler --- */
.site-theme .theme-badge,
.site-theme #cartCount,
.site-theme #notifCount {
    background-color: var(--theme-badge-bg) !important;
    color: var(--theme-badge-text) !important;
}

/* --- Hero slider --- */
.site-theme .theme-hero-overlay {
    background-color: var(--theme-hero-overlay) !important;
}
.site-theme .theme-hero-btn {
    background: var(--theme-hero-btn-bg) !important;
    color: var(--theme-hero-btn-text) !important;
    border-radius: var(--theme-radius);
}
.site-theme .theme-hero-nav {
    background-color: var(--theme-hero-overlay) !important;
    border-radius: var(--theme-radius);
}

/* --- Anasayfa kategoriler --- */
.site-theme .home-categories {
    background: var(--theme-section-bg) !important;
    border-color: var(--theme-border) !important;
}
.site-theme .home-categories-title {
    color: var(--theme-heading) !important;
}
.site-theme .home-category-name {
    color: var(--theme-text) !important;
}
.site-theme .home-category-card:hover .home-category-name,
.site-theme .home-category-card:focus-visible .home-category-name {
    color: var(--theme-link) !important;
}
.site-theme .home-category-card:focus-visible {
    outline-color: var(--theme-input-focus);
}
.site-theme .home-category-image-wrap {
    background: var(--theme-product-img-bg) !important;
    border-radius: var(--theme-radius);
}

/* --- Ürün kartları --- */
.site-theme .product-card {
    color: var(--theme-text);
}
.site-theme .product-card .bg-gray-100 {
    background: var(--theme-product-img-bg) !important;
}
.site-theme .product-card .border-gray-300 {
    border-color: var(--theme-border) !important;
}
.site-theme .product-card .hover\:border-black:hover,
.site-theme .product-card .product-fav-btn:hover {
    border-color: var(--theme-card-hover-border) !important;
}
.site-theme .product-card .fill-black,
.site-theme .product-card .text-black {
    color: var(--theme-primary) !important;
    fill: var(--theme-primary) !important;
}

/* --- Hesabım paneli --- */
.site-theme .account-hero {
    background: var(--theme-account-hero) !important;
    color: #ffffff;
}
.site-theme .account-nav-link {
    color: var(--theme-text-muted);
}
.site-theme .account-nav-link:hover {
    background: var(--theme-surface-alt);
    color: var(--theme-text);
}
.site-theme .account-nav-link.is-active {
    background: var(--theme-btn-bg);
    color: var(--theme-btn-text);
}
.site-theme .account-nav-link--pill {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-text);
}
.site-theme .account-nav-link--pill.is-active {
    border-color: var(--theme-primary);
    background: var(--theme-secondary);
    color: var(--theme-primary);
}
.site-theme .account-nav-badge {
    background: var(--theme-surface-alt);
    color: var(--theme-text);
}
.site-theme .account-card,
.site-theme .account-stat {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    border-radius: var(--theme-radius);
    box-shadow: var(--theme-shadow);
}
.site-theme .account-card:hover {
    border-color: var(--theme-card-hover-border);
}
.site-theme .account-btn {
    background: var(--theme-btn-bg);
    color: var(--theme-btn-text);
    border-radius: var(--theme-radius);
}
.site-theme .account-btn:hover {
    background: var(--theme-btn-hover);
}
.site-theme .account-btn-outline {
    background: transparent;
    color: var(--theme-primary);
    border-color: var(--theme-border);
}
.site-theme .account-btn-outline:hover {
    background: var(--theme-secondary);
}
.site-theme .account-input,
.site-theme .account-tab-select {
    background: var(--theme-input-bg);
    border-color: var(--theme-input-border);
    color: var(--theme-input-text);
    border-radius: var(--theme-radius);
}
.site-theme .account-input:focus,
.site-theme .account-tab-select:focus {
    border-color: var(--theme-input-focus);
}
.site-theme .account-label {
    color: var(--theme-text-muted);
}
.site-theme .account-aside {
    background: var(--theme-profile-bg);
    border-color: var(--theme-border);
}

/* --- Checkout --- */
.site-theme .border-b-2.border-black {
    border-color: var(--theme-primary) !important;
}

/* --- Modallar --- */
.site-theme .bg-black\/50,
.site-theme [class*="bg-black/"] {
    background-color: var(--theme-overlay) !important;
}
.site-theme .theme-modal-primary,
.site-theme #cartModal a.bg-black,
.site-theme #favoriteModal a.bg-black,
.site-theme #orderSuccessModal a.bg-black {
    background: var(--theme-btn-bg) !important;
    color: var(--theme-btn-text) !important;
}
.site-theme .theme-modal-outline,
.site-theme #orderSuccessTrackBtn {
    border-color: var(--theme-btn-outline-border) !important;
    color: var(--theme-primary) !important;
}
.site-theme .theme-modal-outline:hover,
.site-theme #orderSuccessTrackBtn:hover {
    background: var(--theme-btn-bg) !important;
    color: var(--theme-btn-text) !important;
}

/* --- Toast --- */
.site-theme #toast {
    background: var(--theme-btn-bg) !important;
    color: var(--theme-btn-text) !important;
    border-radius: var(--theme-radius);
}

/* --- Şans çarkı --- */
.site-theme .wheel-fab {
    background: var(--theme-wheel-gradient) !important;
}
.site-theme .wheel-modal-panel {
    border-radius: calc(var(--theme-radius) * 2);
}
.site-theme .wheel-spin-btn {
    background: var(--theme-wheel-spin-bg) !important;
    border-radius: var(--theme-radius);
}
.site-theme .wheel-spin-btn:hover:not(:disabled) {
    background: var(--theme-wheel-spin-hover) !important;
}
.site-theme .wheel-input:focus {
    border-color: var(--theme-input-focus);
}
.site-theme .wheel-cta {
    color: var(--theme-link) !important;
}

/* --- Blog --- */
.site-theme .blog-article {
    background: var(--theme-surface);
}
.site-theme .blog-breadcrumb a {
    color: var(--theme-text-muted);
}
.site-theme .blog-breadcrumb a:hover {
    color: var(--theme-link);
}
.site-theme .blog-share-btn:hover {
    border-color: var(--theme-primary);
}

/* --- Scrollbar --- */
.site-theme ::-webkit-scrollbar-track {
    background: var(--theme-scrollbar-track);
}
.site-theme ::-webkit-scrollbar-thumb {
    background: var(--theme-scrollbar-thumb);
}

/* --- Kartlar --- */
.site-theme .theme-surface {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    border-radius: var(--theme-radius);
    box-shadow: var(--theme-shadow);
}

/* --- Koyu içerik blokları (div; buton değil) — en sonda, öncelikli --- */
.site-theme .theme-dark-section,
.site-theme div.bg-black.text-white {
    background-color: var(--theme-btn-bg) !important;
    color: #ffffff !important;
}
.site-theme .theme-dark-section :is(h1, h2, h3, h4, p:not([class*="text-gray"])),
.site-theme div.bg-black.text-white :is(h1, h2, h3, h4, p:not([class*="text-gray"])) {
    color: #ffffff !important;
}
