/* =========================================
   SİTENİKUR - PROFESYONEL YAZILIM TEMASI (V20 - FINAL FIX)
   ========================================= */

   @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

   :root {
       --primary-blue: #0b1e46;       /* Koyu Lacivert */
       --accent-teal: #00d2aa;        /* Turkuaz */
       --accent-red: #ff4757;         /* Kırmızı */
       --text-dark: #333333;
       --text-muted: #666666;
       --bg-light: #f8faff;
       --white: #ffffff;
       --border-color: #eef2f6;
   }
   
   /* --- TEMEL AYARLAR (DÜZELTİLDİ: Flex Kaldırıldı) --- */
   body {
       font-family: 'Poppins', sans-serif;
       background-color: var(--bg-light);
       color: var(--text-dark);
       line-height: 1.6;
       font-size: 14px;
       overflow-x: hidden;
   }
   
   a { text-decoration: none; transition: all 0.3s ease; }
   ul { list-style: none; padding: 0; margin: 0; }
   
   /* --- 1. HEADER & NAVBAR --- */
   .notification-bar {
       background-color: var(--accent-teal);
       color: var(--white);
       text-align: center;
       padding: 10px 0;
       font-weight: 600;
       font-size: 13px;
       position: relative;
       z-index: 900;
   }
   .notification-bar a { color: var(--white); text-decoration: underline; margin-left: 5px; }
   .notification-close { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); cursor: pointer; opacity: 0.8; }
   
   .top-bar {
       background-color: var(--white);
       font-size: 12px;
       padding: 8px 0;
       border-bottom: 1px solid #eee;
       color: #777;
       position: relative; z-index: 950;
   }
   
   .main-navbar {
       background-color: var(--white);
       padding: 15px 0;
       box-shadow: 0 4px 20px rgba(0,0,0,0.04);
       z-index: 1050;
       position: sticky;
       top: 0;
   }
   
   .navbar-brand { font-weight: 800; font-size: 1.6rem; color: var(--primary-blue) !important; display: flex; align-items: center; letter-spacing: -0.5px; }
   .nav-link { color: #444 !important; font-weight: 600; font-size: 13px; margin: 0 8px; padding: 8px 12px !important; border-radius: 5px; }
   .nav-link:hover, .nav-link.active { color: var(--primary-blue) !important; background-color: rgba(3, 32, 119, 0.05); }
   
   .btn-account-nav {
       background-color: var(--white); border: 1px solid #e1e1e1; color: var(--text-dark);
       padding: 8px 18px; border-radius: 50px; font-weight: 600; font-size: 13px;
       display: flex; align-items: center; gap: 6px; transition: all 0.3s ease; text-decoration: none; cursor: pointer;
   }
   .btn-account-nav:hover, .btn-account-nav.show { border-color: var(--primary-blue); color: var(--primary-blue); background-color: #f8f9fa; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
   
   .btn-cart-nav {
       background-color: var(--white); border: 1px solid #e1e1e1; color: var(--text-dark);
       padding: 8px 20px; border-radius: 50px; font-weight: 600; font-size: 13px;
       display: flex; align-items: center; gap: 8px; transition: 0.3s;
   }
   .btn-cart-nav:hover { border-color: var(--accent-teal); color: var(--accent-teal); background-color: #fff; box-shadow: 0 4px 10px rgba(0, 210, 170, 0.1); }
   .cart-badge { background-color: var(--accent-teal) !important; color: white; font-size: 10px; }
   
   .dropdown-menu { font-size: 13px; border-radius: 8px; border: 1px solid #eee; margin-top: 10px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
   .dropdown-item { padding: 8px 20px; font-weight: 500; }
   .dropdown-item:active { background-color: var(--primary-blue); }
   
   /* --- 2. HERO SLIDER --- */
   .hero-section {
       background: linear-gradient(135deg, #0b1e46 0%, #152d5e 100%);
       color: var(--white); position: relative; padding: 60px 0;
   }
   .slide-subtitle { color: var(--accent-teal); letter-spacing: 1px; font-size: 0.95rem; font-weight: 700; }
   .hero-title { font-weight: 800; font-size: 3.2rem; line-height: 1.2; margin-bottom: 25px; }
   .hero-desc { font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px; font-weight: 300; max-width: 600px; line-height: 1.8; color: #fff; }
   
   .f-icon-box { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 20px; }
   .f-icon-box i { font-size: 1.2rem; color: var(--accent-teal); background: rgba(255,255,255,0.1); padding: 10px; border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
   
   .btn-teal-hero { background-color: var(--accent-teal); color: var(--white); font-weight: 700; padding: 12px 30px; border-radius: 50px; border: none; font-size: 1rem; display: inline-flex; align-items: center; box-shadow: 0 10px 20px rgba(0, 210, 170, 0.3); }
   .btn-teal-hero:hover { background-color: #00b08e; color: var(--white); transform: translateY(-3px); }
   
   .hero-image-wrapper { position: relative; z-index: 2; margin-top: 20px; }
   .hero-main-img { border-radius: 15px; box-shadow: 0 25px 50px rgba(0,0,0,0.4); border: 5px solid rgba(255,255,255,0.1); transform: perspective(1000px) rotateY(-5deg); transition: 0.5s; max-height: 450px; object-fit: cover; }
   .carousel-item.active .hero-main-img { animation: fadeInRight 1s ease-out; }
   @keyframes fadeInRight { from { opacity: 0; transform: translateX(50px) perspective(1000px) rotateY(-5deg); } to { opacity: 1; transform: translateX(0) perspective(1000px) rotateY(-5deg); } }
   
   .carousel-control-prev, .carousel-control-next { width: 50px; height: 50px; background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50%; top: 50%; transform: translateY(-50%); opacity: 0.8; z-index: 10; transition: all 0.3s ease; }
   .carousel-control-prev { left: 20px; } .carousel-control-next { right: 20px; }
   .carousel-control-prev:hover, .carousel-control-next:hover { background-color: var(--accent-teal); border-color: var(--accent-teal); opacity: 1; transform: translateY(-50%) scale(1.1); }
   .carousel-indicators { bottom: 20px; }
   .carousel-indicators button { width: 10px !important; height: 10px !important; border-radius: 50%; background-color: rgba(255,255,255,0.5) !important; margin: 0 5px !important; border:none !important; }
   .carousel-indicators button.active { background-color: var(--accent-teal) !important; transform: scale(1.2); }
   
   /* --- 3. ÜRÜN KARTLARI --- */
   .section-title { font-size: 2rem; font-weight: 700; color: #0b1e46; margin-bottom: 5px; }
   .section-desc { color: #888; font-size: 0.95rem; margin-bottom: 40px; font-weight: 300; }
   
   .product-card {
       background: #fff; border: 1px solid #eef2f6; border-radius: 4px;
       box-shadow: 0 5px 15px rgba(0,0,0,0.03); transition: all 0.3s ease;
       height: 100%; display: flex; flex-direction: column; overflow: hidden;
   }
   .product-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.08); transform: translateY(-5px); }
   
   .card-img-wrap { position: relative; height: 220px; background: #f9f9f9; overflow: hidden; }
   .card-img-top { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
   .product-card:hover .card-img-top { transform: scale(1.05); }
   
   .badge-label { font-size: 9px; font-weight: 700; color: #fff; padding: 5px 10px; z-index: 2; text-transform: uppercase; display: flex; align-items: center; gap: 4px; letter-spacing: 0.5px; border-radius: 3px; }
   .badge-popular { position: absolute; top: 15px; left: 15px; background-color: var(--accent-red); }
   .badge-group-right { position: absolute; top: 15px; right: 15px; z-index: 2; display: flex; flex-direction: column; gap: 5px; align-items: flex-end; }
   .badge-mobile { background-color: var(--accent-teal); }
   .badge-lang { background-color: var(--primary-blue); }
   
   .card-body { padding: 20px; text-align: center; display: flex; flex-direction: column; justify-content: space-between; flex-grow: 1; }
   .product-cat { font-size: 11px; color: #999; margin-bottom: 5px; display: block; }
   .product-title { font-size: 15px; font-weight: 600; color: #0b1e46; margin-bottom: 15px; line-height: 1.4; text-decoration: none; display: block; }
   .product-title:hover { color: var(--primary-blue); }
   
   .product-price-wrapper { margin-bottom: 20px; color: #0b1e46; display: flex; align-items: flex-start; justify-content: center; line-height: 1; }
   .currency { font-size: 16px; font-weight: 600; margin-top: 4px; margin-right: 2px; }
   .price-whole { font-size: 24px; font-weight: 700; }
   .price-decimal { font-size: 14px; font-weight: 600; margin-top: 2px; }
   .price-period { font-size: 10px; color: #999; font-weight: 400; align-self: flex-end; margin-left: 5px; margin-bottom: 5px; }
   
   .card-actions { display: flex; gap: 10px; margin-top: auto; padding-top: 15px; }
   .btn-card { flex: 1; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 10px 0; border-radius: 4px; display: flex; align-items: center; justify-content: center; gap: 6px; transition: 0.2s; cursor: pointer; }
   .btn-add { background-color: #0b1e46; color: #fff; border: 1px solid #0b1e46; }
   .btn-add:hover { background-color: #152d5e; color: #fff; }
   .btn-view { background-color: #fff; color: #333; border: 1px solid #ddd; }
   .btn-view:hover { border-color: #0b1e46; color: #0b1e46; }
   
   /* --- 4. ÜRÜNLER SAYFASI --- */
   .page-header-bg {
       background-color: #151a28;
       background-image: radial-gradient(circle at top right, #20283f 0%, #151a28 70%);
       padding: 100px 0 120px 0; color: var(--white); position: relative; text-align: center;
   }
   .page-header-bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('https://www.transparenttextures.com/patterns/cubes.png'); opacity: 0.05; }
   .page-title { font-size: 2.5rem; font-weight: 800; margin-bottom: 10px; letter-spacing: -1px; }
   .breadcrumb-custom .breadcrumb-item a { color: rgba(255,255,255,0.6); font-size: 13px; text-decoration: none; }
   .breadcrumb-custom .breadcrumb-item.active { color: var(--white); font-weight: 600; font-size: 13px; }
   .breadcrumb-custom .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.3); }
   
   .filter-wrapper { margin-top: -50px; background: #fff; padding: 15px 25px; border-radius: 4px; box-shadow: 0 10px 40px rgba(0,0,0,0.08); position: relative; z-index: 10; margin-bottom: 50px; border: 1px solid #edf2f9; }
   .form-select-custom { border: none; background-color: #f8faff; color: #555; font-weight: 600; font-size: 14px; height: 50px; padding-left: 20px; border-radius: 4px; cursor: pointer; }
   .search-input-custom { border: none; background-color: #f8faff; height: 50px; padding-left: 20px; font-size: 14px; border-radius: 4px 0 0 4px; }
   .btn-search-custom { background-color: var(--primary-blue); color: #fff; border: none; padding: 0 30px; font-weight: 600; border-radius: 0 4px 4px 0; transition: 0.3s; }
   .btn-search-custom:hover { background-color: #263bd6; }
   
   /* --- 5. DETAY SAYFASI --- */
   .product-header-bg { background: url('https://www.transparenttextures.com/patterns/cubes.png'), linear-gradient(135deg, #0b1e46 0%, #152d5e 100%); padding: 60px 0 100px 0; color: white; position: relative; margin-bottom: -60px; }
   .breadcrumb-link { color: rgba(255,255,255,0.6); font-size: 12px; text-decoration: none; }
   .breadcrumb-link:hover { color: white; }
   
   .content-box { background: #fff; border: 1px solid #eee; border-radius: 4px; padding: 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.03); height: 100%; }
   .detail-main-img { width: 100%; height: auto; object-fit: cover; border-radius: 3px; border: 1px solid #f4f4f4; }
   
   .thumb-wrapper { margin-top: 15px; display: flex; gap: 10px; overflow-x: auto; }
   .thumb-img { width: 70px; height: 70px; object-fit: cover; border-radius: 3px; cursor: pointer; opacity: 0.6; border: 2px solid transparent; transition: all 0.3s ease; }
   .thumb-img:hover, .thumb-img.active { opacity: 1; border-color: var(--primary-blue); }
   
   .sidebar-card { background: #fff; border: 1px solid #eee; border-radius: 4px; padding: 30px; box-shadow: 0 5px 20px rgba(0,0,0,0.03); text-align: center; }
   .sidebar-title { font-size: 1.4rem; font-weight: 700; color: var(--primary-blue); margin-bottom: 20px; }
   
   .sidebar-price-wrapper { display: flex; align-items: flex-start; justify-content: center; color: var(--primary-blue); line-height: 1; margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid #f4f4f4; }
   .sidebar-currency { font-size: 24px; font-weight: 600; margin-top: 5px; margin-right: 3px; }
   .sidebar-price-whole { font-size: 48px; font-weight: 800; letter-spacing: -1px; }
   .sidebar-price-decimal { font-size: 20px; font-weight: 700; margin-top: 5px; }
   .sidebar-price-period { font-size: 12px; color: #999; font-weight: 400; align-self: flex-end; margin-left: 5px; margin-bottom: 8px; }
   
   .sidebar-features { list-style: none; padding: 0; margin: 0 0 25px 0; text-align: left; display: inline-block; }
   .sidebar-features li { margin-bottom: 10px; font-size: 13px; color: #666; display: flex; align-items: center; }
   .sidebar-features li i { color: #8bc34a; margin-right: 10px; font-size: 14px; }
   
   .btn-demo-group { display: flex; gap: 10px; margin-bottom: 15px; }
   .btn-demo-custom { flex: 1; background-color: var(--primary-blue); color: #fff; border: none; padding: 12px 5px; border-radius: 4px; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 5px; transition: 0.3s; text-decoration: none; }
   .btn-demo-custom:hover { background-color: #263bd6; color: #fff; }
   .btn-buy-custom { display: block; width: 100%; background-color: var(--accent-teal); color: #fff; border: none; padding: 15px; border-radius: 4px; font-size: 14px; font-weight: 700; text-transform: uppercase; transition: 0.3s; box-shadow: 0 5px 15px rgba(0, 210, 170, 0.3); cursor: pointer; }
   .btn-buy-custom:hover { background-color: #00b08e; color: #fff; transform: translateY(-2px); }
   
   .sidebar-req-title { font-size: 14px; font-weight: 700; color: var(--primary-blue); margin-top: 25px; margin-bottom: 10px; }
   .sidebar-req-text { font-size: 12px; color: #888; line-height: 1.6; }
   .sidebar-footer { margin-top: 20px; padding-top: 20px; border-top: 1px solid #f4f4f4; display: flex; justify-content: center; gap: 15px; }
   .sidebar-footer a { color: var(--primary-blue); font-size: 16px; transition: 0.3s; }
   .sidebar-footer a:hover { color: var(--accent-teal); }
   
   /* SEKMELER (DÜZELTİLDİ: Koyu Renk ve Düzen) */
   .custom-tabs { margin-top: 30px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); border-radius: 8px; overflow: hidden; }
   .custom-tabs-header { background-color: var(--primary-blue); padding: 10px 20px 0 20px; display: flex; align-items: center; border-radius: 8px 8px 0 0; }
   .custom-tabs-header .nav-link { color: rgba(255,255,255,0.7) !important; font-weight: 600; font-size: 14px; padding: 15px 25px; border: none; border-radius: 8px 8px 0 0; transition: all 0.3s ease; display: flex; align-items: center; gap: 8px; }
   .custom-tabs-header .nav-link i { font-size: 16px; }
   .custom-tabs-header .nav-link:hover { color: #fff !important; background-color: rgba(255,255,255,0.1); }
   .custom-tabs-header .nav-link.active { background-color: #fff !important; color: var(--primary-blue) !important; font-weight: 700; box-shadow: 0 -5px 15px rgba(0,0,0,0.05); }
   .custom-tab-content { background: #fff; padding: 30px; border: 1px solid #eee; border-top: none; border-radius: 0 0 8px 8px; }
   
   /* --- 6. HESABIM --- */
   .account-menu-link { display: block; padding: 15px 20px; background: #fff; color: var(--text-dark); font-weight: 600; font-size: 13px; border-bottom: 1px solid #f4f7fa; border-left: 4px solid transparent; transition: all 0.3s ease; text-decoration: none; }
   .account-menu-link:hover { background-color: #f9fbfd; color: var(--primary-blue); padding-left: 25px; }
   .account-menu-link.active { color: var(--accent-teal); border-left-color: var(--accent-teal); background-color: #fff; box-shadow: 0 5px 15px rgba(0,0,0,0.03); }
   .table-custom th { font-weight: 600; font-size: 12px; text-transform: uppercase; color: #888; border-bottom: 2px solid #eee; padding-bottom: 15px; }
   .table-custom td { padding: 15px 10px; font-size: 13px; color: #555; vertical-align: middle; }
   
   /* --- 7. FOOTER (DÜZELTİLDİ: Çakışmayı Önleme) --- */
   footer {
       background-color: #0b1e46;
       color: #aaa;
       padding: 50px 0;
       font-size: 13px;
       width: 100%;
       margin-top: 50px;
       position: relative;
       clear: both; /* Diğer elemanların üzerine binmesini engeller */
   }
   .whatsapp-float { position: fixed; bottom: 30px; right: 30px; background-color: #25d366; color: white; width: 60px; height: 60px; border-radius: 50%; font-size: 32px; display: flex; align-items: center; justify-content: center; z-index: 9999; box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4); transition: 0.3s; }
   .whatsapp-float:hover { background-color: #128c7e; transform: scale(1.1); }
   
   @media (max-width: 991px) {
       .custom-tabs-header { flex-direction: column; align-items: flex-start; padding: 0; }
       .custom-tabs-header .nav-link { width: 100%; border-bottom: 1px solid rgba(255,255,255,0.1); border-radius: 0; }
       .hero-title { font-size: 2.2rem; }
       .filter-wrapper { padding: 20px; flex-direction: column; gap: 15px; }
       .search-input-custom, .search-group { width: 100%; }
       .btn-search-custom { width: 100%; border-radius: 0 0 4px 4px; }
       .search-input-custom { border-radius: 4px 4px 0 0; }
   }