/*
Theme Name: Hobis E-Ticaret
Description: Yüksek performanslı, minimalist ve özel WooCommerce teması.
Author: Ercan Serdar Arslan
Version: 1.0.0
Text Domain: hobis
*/

/* ==========================================================
   1. DEĞİŞKENLER VE TEMEL SIFIRLAMA
   ========================================================== */
:root {
    --bg-color: #ffffff;
    --text-main: #1f2937;
    --text-light: #6b7280;
    --border-color: #e5e7eb;
    --primary-color: #006e26; /* Hobis Yeşili */
    --primary-hover: #004d1b;
    --danger-color: #ef4444; 
    --font-main: 'Inter', system-ui, -apple-system, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { 
    background-color: var(--bg-color); 
    color: var(--text-main); 
    font-family: var(--font-main); 
    line-height: 1.6; 
    -webkit-font-smoothing: antialiased; 
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* ==========================================================
   2. HEADER, TOPBAR VE ARAMA
   ========================================================== */
.header-container { max-width: 1200px; margin: 0 auto; }

.hobis-topbar { background-color: var(--primary-color); color: #ffffff; font-size: 13px; padding: 10px 0; }
.topbar-container { display: flex; justify-content: space-between; align-items: center; padding: 0 20px; }
.topbar-container span { display: flex; align-items: center; gap: 8px; opacity: 0.9; }
.topbar-container strong { font-weight: 600; opacity: 1; }

.site-header { position: sticky; top: 0; z-index: 1000; background-color: #fff; transition: box-shadow 0.3s ease; }
.site-header.is-sticky { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }

.main-header-row { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; gap: 40px; background-color: #fff; }
.header-logo { flex: 0 0 auto; }

.center-search { flex: 1; max-width: 600px; position: relative; }
.search-wrapper { position: relative; width: 100%; }
.hobis-search-form { position: relative; display: flex; width: 100%; }
.center-search input { width: 100%; padding: 14px 45px 14px 20px !important; border: 1px solid var(--border-color); border-radius: 30px; font-size: 15px; background-color: #f9fafb; outline: none; transition: all 0.3s ease; }
.center-search input:focus { background-color: #fff; border-color: var(--primary-color); box-shadow: 0 0 0 4px rgba(0, 110, 38, 0.1); }
.search-submit-btn { position: absolute !important; right: 15px !important; top: 50% !important; transform: translateY(-50%) !important; background: transparent !important; border: none !important; font-size: 18px !important; cursor: pointer !important; color: var(--text-light) !important; padding: 0 !important; transition: transform 0.2s ease, color 0.2s ease !important; }
.search-submit-btn:hover { color: var(--primary-color) !important; transform: translateY(-50%) scale(1.1) !important; }

.search-results-dropdown { position: absolute; top: 100%; left: 0; width: 100%; background-color: #ffffff !important; border: 1px solid var(--border-color); border-top: none; border-radius: 0 0 8px 8px; box-shadow: 0 15px 35px rgba(0,0,0,0.15) !important; z-index: 999999 !important; display: none; overflow: hidden; }
.search-result-item { display: flex; align-items: center; padding: 10px 15px; border-bottom: 1px solid #f3f4f6; color: var(--text-main); background-color: #ffffff !important; z-index: 999999 !important; }
.search-result-item:hover { background-color: #f0fdf4 !important; }
.search-result-image img { width: 50px; height: 50px; object-fit: cover; margin-right: 15px; border-radius: 4px; }
.search-result-info { display: flex; flex-direction: column; }
.search-result-title { font-size: 14px; font-weight: 500; }
.search-result-price { font-size: 13px; color: var(--primary-color); font-weight: 600; }
.no-result { padding: 15px; text-align: center; color: var(--text-light); }

.right-actions { flex: 0 0 auto; }
.cart-link { display: flex; align-items: center; gap: 15px; }
.cart-icon-wrapper { position: relative; }
.cart-badge { position: absolute; top: -8px; right: -10px; background-color: var(--primary-color); color: #fff; font-size: 11px; font-weight: bold; height: 20px; min-width: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0 5px; border: 2px solid #fff; }
.cart-text { display: flex; flex-direction: column; line-height: 1.2; }
.cart-title { font-size: 13px; color: var(--text-light); }
.cart-total { font-size: 16px; font-weight: 700; color: var(--text-main); }

.header-bottom-nav { background-color: #ffffff; border-top: 1px solid var(--border-color); border-bottom: 1px solid #e5e7eb; box-shadow: 0 4px 6px -6px rgba(0,0,0,0.1); }
.header-bottom-nav .main-navigation { display: flex; justify-content: center; }

/* ==========================================================
   3. KUSURSUZ MEGA AÇILIR MENÜ (DESKTOP)
   ========================================================== */
.nav-links, .nav-links ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nav-links { display: flex; gap: 30px; align-items: center; position: relative; z-index: 999; }
.nav-links li { position: relative !important; }
.nav-links > li > a { text-decoration: none !important; color: var(--text-main) !important; padding: 20px 0 !important; display: block !important; font-weight: 700 !important; text-transform: uppercase !important; font-size: 14px !important; letter-spacing: 0.5px !important; transition: color 0.3s !important; }
.nav-links > li:hover > a { color: var(--primary-color) !important; }

.nav-links .sub-menu { position: absolute !important; background: #ffffff !important; min-width: 260px !important; padding: 12px !important; border-radius: 12px !important; border: 1px solid #e5e7eb !important; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12) !important; opacity: 0; visibility: hidden; pointer-events: none; transition: all 0.25s ease !important; z-index: 99999 !important; display: block !important; margin: 0 !important; }
.nav-links li:hover > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; }

.nav-links > li > .sub-menu { top: 100% !important; left: 0 !important; transform: translateY(15px); }
.nav-links > li:hover > .sub-menu { transform: translateY(0); }

.nav-links .sub-menu .sub-menu { top: -13px !important; left: 100% !important; margin-left: 5px !important; transform: translateX(15px); }
.nav-links .sub-menu li:hover > .sub-menu { transform: translateX(0); }
.nav-links .sub-menu .sub-menu::before { content: ''; position: absolute; top: 0; left: -20px; width: 20px; height: 100%; background: transparent; }

.nav-links .sub-menu li { width: 100% !important; display: block !important; margin: 0 0 2px 0 !important; }
.nav-links .sub-menu li:last-child { margin-bottom: 0 !important; }

.nav-links .sub-menu a { display: flex !important; align-items: center !important; justify-content: space-between !important; position: relative !important; padding: 12px 15px !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-transform: capitalize !important; border-radius: 6px !important; background: transparent !important; transition: all 0.2s ease !important; text-decoration: none !important; line-height: 1.4 !important; }
.nav-links .sub-menu a::before, .nav-links .dropdown-menu-toggle, .nav-links .gp-icon { display: none !important; content: none !important; }
.nav-links .sub-menu a:hover { background-color: #f0fdf4 !important; color: var(--primary-color) !important; padding-left: 20px !important; }

.nav-links > .menu-item-has-children > a::after { content: "▼" !important; font-size: 9px !important; margin-left: 6px !important; opacity: 0.5 !important; display: inline-block !important; vertical-align: middle !important; }
.nav-links .sub-menu .menu-item-has-children > a::after { content: "›" !important; font-size: 22px !important; line-height: 0 !important; margin-left: auto !important; opacity: 0.4 !important; position: static !important; transform: translateY(-2px) !important; font-family: Arial, sans-serif !important; }

/* ==========================================================
   4. MOBİL UYUMLULUK & HAMBURGER MENÜ (Tam Genişlik)
   ========================================================== */
.mobile-menu-btn { display: none; font-size: 28px; color: var(--text-main); cursor: pointer; padding-right: 15px; font-weight: bold; }

@media (max-width: 992px) {
    html, body { overflow-x: hidden !important; width: 100vw !important; position: relative; }
    .hobis-topbar { display: none !important; }
    .main-header-row { flex-wrap: wrap !important; padding: 10px 15px !important; gap: 15px !important; }
    .mobile-menu-btn { display: block !important; flex: 0 0 auto !important; }
    .header-logo { flex: 1 !important; text-align: center !important; }
    .header-logo img { margin: 0 auto !important; max-width: 150px !important; }
    .right-actions { flex: 0 0 auto !important; }
    .cart-text { display: none !important; }
    .center-search { flex: 0 0 100% !important; order: 3 !important; max-width: 100% !important; }
    .center-search input { padding: 12px 45px 12px 20px !important; font-size: 14px !important; }

    .header-bottom-nav { display: none; position: absolute !important; top: 100% !important; left: 0 !important; width: 100% !important; background: #ffffff !important; z-index: 99999 !important; box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important; border-top: 1px solid var(--border-color) !important; max-height: 75vh !important; overflow-y: auto !important; }
    .header-bottom-nav.menu-open { display: block !important; animation: slideDown 0.3s ease forwards; }
    @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

    .nav-links { flex-direction: column !important; gap: 0 !important; align-items: stretch !important; padding: 0 !important; width: 100% !important; }
    .nav-links li { width: 100% !important; margin: 0 !important; position: relative !important; }
    .nav-links > li > a { padding: 15px 20px !important; border-bottom: 1px solid #e5e7eb !important; display: flex !important; justify-content: space-between !important; width: 100% !important; box-sizing: border-box !important; }
    
    .nav-links .sub-menu { position: static !important; box-shadow: none !important; border: none !important; background: #f9fafb !important; opacity: 1 !important; visibility: visible !important; transform: none !important; display: none !important; width: 100% !important; min-width: 100% !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; pointer-events: auto !important; }
    .nav-links .sub-menu .sub-menu { margin-left: 0 !important; padding-left: 15px !important; border-left: 3px solid var(--primary-color) !important; width: 100% !important; box-sizing: border-box !important; background: #ffffff !important; }
    .nav-links .sub-menu::before, .nav-links .sub-menu .sub-menu::before { display: none !important; }
    
    .nav-links li:hover > .sub-menu, .nav-links li:active > .sub-menu { display: block !important; }
    .nav-links .sub-menu a { padding: 14px 20px !important; width: 100% !important; box-sizing: border-box !important; border-radius: 0 !important; border-bottom: 1px solid #e5e7eb !important; font-size: 14px !important; color: #374151 !important; }
    
    .nav-links > .menu-item-has-children > a::after { font-size: 12px !important; margin-left: auto !important; }
    .nav-links .sub-menu .menu-item-has-children > a::after { transform: translateY(0) !important; position: static !important; }
}

/* ==========================================================
   5. ANA SAYFA (SEKMELER & SEO)
   ========================================================== */
.home-product-tabs-section { padding: 0px 20px; }
.section-title { text-align: center; font-size: 24px; color: var(--text-main); margin-bottom: 30px; }
.product-tabs-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 30px; }
.tab-btn { padding: 10px 20px; background: transparent; border: 1px solid var(--border-color); border-radius: 30px; color: var(--text-main); font-size: 15px; cursor: pointer; transition: all 0.3s ease; }
.tab-btn:hover, .tab-btn.active { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.product-card { background: #fff; border: 1px solid var(--border-color); border-radius: 8px; padding: 15px; text-align: center; transition: box-shadow 0.3s ease; }
.product-card:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.08); }
.product-image img { width: 100%; height: auto; border-radius: 4px; margin-bottom: 15px; }
.product-title { font-size: 14px; color: var(--text-main); margin-bottom: 10px; height: 40px; overflow: hidden; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-price { color: var(--primary-color); font-weight: 600; font-size: 16px; margin-bottom: 15px; }
.add_to_cart_button { display: block; width: 100%; padding: 10px; background: var(--text-main); color: #fff; border-radius: 4px; font-size: 14px; transition: background 0.3s ease; }
.add_to_cart_button:hover { background: var(--primary-hover); }

.seo-content-area { padding: 60px 20px; background-color: var(--bg-color); border-top: 1px solid var(--border-color); }
.seo-content-area .container { max-width: 1200px; margin: 0 auto; }
.seo-title { text-align: center; color: var(--primary-color); font-size: 28px; margin-bottom: 20px; }
.seo-intro, .seo-text { font-size: 16px; color: var(--text-light); margin-bottom: 30px; text-align: center; max-width: 900px; margin: 0 auto 30px; }
.seo-subtitle { text-align: center; font-size: 22px; color: var(--text-main); margin-bottom: 15px; }
.seo-grid { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px; margin-bottom: 40px; }
.seo-card { flex: 1; min-width: 250px; background: #fff; padding: 25px; border: 1px solid var(--border-color); border-radius: 8px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.seo-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px rgba(0,0,0,0.05); }
.seo-card h4 { color: var(--text-main); font-size: 18px; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; }
.seo-card p { font-size: 15px; color: var(--text-light); }
.seo-card a { color: var(--primary-color); font-weight: 600; }
.seo-footer-note { font-size: 14px; text-align: center; color: var(--text-light); border-top: 1px dashed var(--border-color); padding-top: 20px; }

@media (min-width: 1200px) {
    .home-product-tabs-section .product-grid { display: grid !important; grid-template-columns: repeat(6, 1fr) !important; gap: 20px !important; width: 100% !important; justify-content: space-between !important; }
    .home-product-tabs-section .product-card { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
}
@media (max-width: 992px) {
    .product-tabs-nav { flex-wrap: nowrap !important; overflow-x: auto !important; justify-content: flex-start !important; padding-bottom: 12px !important; -webkit-overflow-scrolling: touch !important; gap: 8px !important; }
    .product-tabs-nav::-webkit-scrollbar { display: block !important; height: 4px !important; }
    .product-tabs-nav::-webkit-scrollbar-track { background: #f3f4f6 !important; border-radius: 10px !important; }
    .product-tabs-nav::-webkit-scrollbar-thumb { background: #d1d5db !important; border-radius: 10px !important; }
    .product-tabs-nav::-webkit-scrollbar-thumb:active { background: var(--primary-color) !important; }
    .tab-btn { flex: 0 0 auto !important; white-space: nowrap !important; font-size: 13px !important; padding: 8px 15px !important; }
    .product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .product-card { padding: 10px !important; }
    .product-title { font-size: 12px !important; height: 36px !important; }
    .product-price { font-size: 14px !important; margin-bottom: 10px !important; }
    .add_to_cart_button { padding: 8px !important; font-size: 12px !important; }
    .seo-title, .section-title { font-size: 20px !important; margin-bottom: 15px !important; }
}

/* ==========================================================
   6. MAĞAZA VE KATEGORİ MİMARİSİ
   ========================================================== */
.hobis-shop-container { max-width: 1200px; margin: 40px auto; padding: 0 20px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
.shop-sidebar { background: #fff; position: sticky; top: 80px; }
.shop-main-content { display: flex; flex-direction: column; width: 100%; min-width: 0; }

.hobis-category-header { margin-bottom: 25px; }
.hobis-category-header h1.page-title { font-size: 26px; font-weight: 700; color: var(--text-main); margin: 0; }
header.woocommerce-products-header > h1.woocommerce-products-header__title { display: none !important; }

.custom-subcategories-grid { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; }
.custom-subcat-card { flex: 0 0 120px; text-align: center; background: #f9fafb; border: 1px solid var(--border-color); border-radius: 8px; padding: 15px 10px; transition: all 0.3s ease; text-decoration: none; display: flex; flex-direction: column; align-items: center; }
.custom-subcat-card:hover { border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.custom-subcat-card img { width: 70px; height: 70px; object-fit: cover; border-radius: 50%; margin-bottom: 10px; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.custom-subcat-card span { font-size: 13px; font-weight: 600; color: var(--text-main); line-height: 1.2; }

.shop-control-bar { display: flex; justify-content: space-between; align-items: center; background: #f9fafb; padding: 15px 20px; border-radius: 8px; border: 1px solid var(--border-color); margin-bottom: 30px; width: 100%; box-sizing: border-box; }
.shop-control-bar .woocommerce-result-count { margin: 0 auto 0 0 !important; float: none !important; color: var(--text-light); font-size: 14px; }
.shop-control-bar .hobis-stock-toggle { margin: 0 20px 0 0 !important; float: none !important; }
.hobis-stock-toggle .switch-label { display: flex; align-items: center; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--text-main); }
.hobis-stock-toggle input[type="checkbox"] { margin-right: 10px; width: 18px; height: 18px; cursor: pointer; accent-color: var(--primary-color); }
.shop-control-bar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.woocommerce-ordering select { padding: 10px 15px; border: 1px solid var(--border-color); border-radius: 6px; background-color: #fff; outline: none; cursor: pointer; font-size: 14px; }
.shop-sidebar .woocommerce-ordering, .shop-sidebar .woocommerce-result-count, .shop-sidebar .hobis-stock-toggle { display: none !important; }

.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none !important; content: none !important; }

@media (min-width: 993px) {
    .woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
    .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: 100% !important; max-width: 100% !important; margin: 0 !important; float: none !important; }
}
@media (max-width: 992px) and (min-width: 769px) {
    .woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 15px !important; margin: 0 !important; padding: 0 !important; width: 100% !important; box-sizing: border-box !important;}
}

.hobis-seo-description { margin-top: 50px; padding-top: 40px; border-top: 1px solid var(--border-color); color: var(--text-light); font-size: 14px; line-height: 1.7; }
.hobis-seo-description h2, .hobis-seo-description h3 { color: var(--text-main); margin: 20px 0 10px 0; }
.hobis-seo-description iframe, .hobis-seo-description img, .term-description iframe, .term-description img, .wp-embedded-content { max-width: 100% !important; border-radius: 8px; box-sizing: border-box !important; }

.infinite-spinner { width: 100%; text-align: center; padding: 30px 0; margin-top: 20px; font-weight: 600; color: var(--primary-color); }
.infinite-spinner span::after { content: '.'; animation: dots 1.5s steps(5, end) infinite; }
@keyframes dots { 0%, 20% { color: rgba(0,0,0,0); text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0); } 40% { color: var(--primary-color); text-shadow: .25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0); } 60% { text-shadow: .25em 0 0 var(--primary-color), .5em 0 0 rgba(0,0,0,0); } 80%, 100% { text-shadow: .25em 0 0 var(--primary-color), .5em 0 0 var(--primary-color); } }

/* Mobilde Kategori Sayfası Düzeltmeleri */
@media (max-width: 768px) {
	/* Üst Sandviç Açıklaması Font Boyutu Sabitleme */
	.hobis-category-header .term-description.hobis-intro-text,
	.hobis-category-header .term-description.hobis-intro-text p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}
    .hobis-shop-container { grid-template-columns: 1fr; padding: 0 15px !important; width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; }
    .shop-sidebar { position: static; margin-bottom: 20px; }
    .shop-main-content { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
    
    .woocommerce ul.products, .woocommerce-page ul.products { margin: 0 !important; padding: 0 !important; width: 100% !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; box-sizing: border-box !important; }
    .woocommerce ul.products li.product { width: 100% !important; margin: 0 !important; }
    
    .shop-control-bar { flex-direction: column; align-items: flex-start; gap: 15px; box-sizing: border-box !important; width: 100% !important; }
    
    .hobis-category-header h1.page-title { font-size: 20px !important; line-height: 1.3 !important; margin-bottom: 10px !important; word-wrap: break-word !important; }
    .hobis-custom-header .term-description.hobis-intro-text { font-size: 13px !important; line-height: 1.5 !important; margin-top: 10px !important; }
    
    .custom-subcategories-grid { flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; padding-bottom: 15px !important; gap: 10px !important; width: 100% !important; box-sizing: border-box !important; }
    .custom-subcat-card { flex: 0 0 100px !important; width: 100px !important; padding: 10px 5px !important; }
    .custom-subcat-card img { width: 55px !important; height: 55px !important; margin-bottom: 8px !important; }
    .custom-subcat-card span { font-size: 14px !important; }
    .custom-subcategories-grid::-webkit-scrollbar { height: 4px !important; }
    .custom-subcategories-grid::-webkit-scrollbar-track { background: #f3f4f6 !important; border-radius: 10px !important; }
    .custom-subcategories-grid::-webkit-scrollbar-thumb { background: #d1d5db !important; border-radius: 10px !important; }
}

/* ==========================================================
   7. ÜRÜN DETAY SAYFASI
   ========================================================== */

.hobis-single-product { max-width: 1200px; margin: 40px auto; padding: 0 20px; }
.product-top-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-bottom: 10px; }
@media (max-width: 768px) { 
    .product-top-grid { grid-template-columns: 1fr; gap: 0px; }
    .woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
        font-size: 10px;
    }
} /* İŞTE EKSİK OLAN HAYAT KURTARICI PARANTEZ BURASI! */

.product-gallery-area .woocommerce-product-gallery { width: 100% !important; float: none !important; max-width: none !important; }
.product-gallery-area .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.08); object-fit: cover; }
.product-gallery-area .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 20px; padding: 0; list-style: none; }
.product-gallery-area .flex-control-thumbs li { width: calc(25% - 11.25px) !important; float: none !important; }
.product-gallery-area .flex-control-thumbs li img { width: 100%; height: auto; border-radius: 6px; border: 2px solid transparent; cursor: pointer; transition: all 0.3s ease; }
.product-gallery-area .flex-control-thumbs li img.flex-active, .product-gallery-area .flex-control-thumbs li img:hover { border-color: var(--primary-color); transform: translateY(-2px); }

.product-summary-area h1.product_title { font-size: 28px; color: var(--text-main); margin-bottom: 15px; font-weight: 700; }
.product-summary-area .price { font-size: 24px; color: var(--primary-color); font-weight: 700; margin-bottom: 25px; display: block; }
.product-summary-area .woocommerce-product-details__short-description { font-size: 15px; color: var(--text-light); margin-bottom: 30px; border-bottom: 1px solid var(--border-color); padding-bottom: 20px; }

.woocommerce form.cart { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; align-items: center; }
.woocommerce form.cart .quantity input.qty { width: 70px; height: 50px; text-align: center; border: 1px solid var(--border-color); border-radius: 4px; font-size: 16px; }
.woocommerce form.cart button.button { flex: 1; height: 50px; background-color: var(--primary-color); color: #fff; border: none; border-radius: 4px; font-size: 18px; font-weight: 600; cursor: pointer; transition: background-color 0.3s ease; }
.woocommerce form.cart button.button:hover { background-color: var(--primary-hover); }

.product_meta { font-size: 14px; color: var(--text-light); border-top: 1px solid var(--border-color); padding-top: 20px; }
.product_meta span { display: block; margin-bottom: 5px; }
.product_meta span.sku_wrapper { color: var(--text-main); font-weight: 600; }

.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 20px; border-bottom: 1px solid var(--border-color); margin-bottom: 30px; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 10px 0; font-size: 16px; color: var(--text-light); font-weight: 600; border-bottom: 3px solid transparent; }
.woocommerce-tabs ul.tabs li.active a { color: var(--text-main); border-bottom-color: var(--primary-color); }
.woocommerce-Tabs-panel { color: var(--text-light); font-size: 15px; line-height: 1.8; }
@media (max-width: 768px) { h1.product_title { font-size: 22px !important; } }

.woocommerce-breadcrumb { font-size: 13px; color: var(--text-light); margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--border-color); }
.woocommerce-breadcrumb a { color: var(--text-main); font-weight: 500; transition: color 0.2s; }
.woocommerce-breadcrumb a:hover { color: var(--primary-color); }

.product-brand-logo { margin-bottom: 15px; }
.product-brand-logo img { max-height: 40px; width: auto; object-fit: contain; }

.product-summary-area .stock.in-stock { color: #eab308; font-weight: 700; font-size: 14px; margin-bottom: 15px; }
.product-summary-area .stock.out-of-stock { color: var(--danger-color); font-weight: 700; }

.hobis-info-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 30px; margin-bottom: 30px; }
.hobis-info-boxes .info-box { display: flex; align-items: center; padding: 12px 15px; border: 1px solid var(--border-color); border-radius: 6px; font-size: 13px; color: var(--text-main); font-weight: 600; background: #f9fafb; text-decoration: none; transition: all 0.2s ease; }
.hobis-info-boxes .info-box:hover { border-color: var(--primary-color); background: #fff; box-shadow: 0 4px 6px rgba(0, 110, 38, 0.05); }
.hobis-info-boxes .whatsapp-box { background-color: #f0fdf4; border-color: #22c55e; color: #166534; }
.hobis-info-boxes .whatsapp-box:hover { background-color: #dcfce7; border-color: #16a34a; }
@media (max-width: 600px) { .hobis-info-boxes { grid-template-columns: 1fr; } }

.product-gallery-area { position: relative; }
.hobis-badge { position: absolute; top: 15px; left: 15px; z-index: 99; padding: 6px 12px; font-size: 13px; font-weight: 800; border-radius: 4px; color: #fff; letter-spacing: 0.5px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.badge-out-of-stock { background-color: var(--danger-color); }
.badge-sale { background-color: var(--primary-color); }

/* ==========================================================
   8. SEPET VE ÖDEME SAYFALARI
   ========================================================== */
.hobis-cart-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.5); z-index: 9998; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.hobis-cart-overlay.show { opacity: 1; visibility: visible; }
.hobis-offcanvas-cart { position: fixed; top: 0; right: 0; width: 380px; max-width: 100%; height: 100vh; background-color: #fff; z-index: 9999; box-shadow: -5px 0 15px rgba(0,0,0,0.1); transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); display: flex; flex-direction: column; }
.hobis-offcanvas-cart.open { transform: translateX(0); }
.offcanvas-header { padding: 20px; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; background-color: #f9fafb; }
.offcanvas-header h3 { font-size: 18px; color: var(--text-main); margin: 0; }
.close-cart { background: none; border: none; font-size: 28px; line-height: 1; color: var(--text-light); cursor: pointer; transition: color 0.2s; }
.close-cart:hover { color: var(--primary-color); }
.offcanvas-body { padding: 20px; flex: 1; overflow-y: auto; }

.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item { display: flex !important; align-items: center !important; padding: 15px 0 !important; margin: 0 0 15px 0 !important; border-bottom: 1px solid #f3f4f6 !important; position: relative !important; background: transparent !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item a.remove { position: static !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; background: #fef2f2 !important; color: var(--danger-color) !important; font-size: 16px !important; font-weight: bold !important; line-height: 1 !important; margin-right: 15px !important; flex-shrink: 0 !important; text-decoration: none !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item a.remove:hover { background: var(--danger-color) !important; color: #fff !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item > a:not(.remove) { display: flex !important; align-items: center !important; flex: 1 !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--text-main) !important; text-decoration: none !important; padding: 0 !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item img { position: static !important; width: 55px !important; height: 55px !important; object-fit: cover !important; border-radius: 6px !important; margin: 0 15px 0 0 !important; box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important; float: none !important; }
.hobis-offcanvas-cart .widget_shopping_cart_content ul.cart_list li.mini_cart_item .quantity { font-weight: 700 !important; color: var(--primary-color) !important; font-size: 14px !important; flex-shrink: 0 !important; margin-left: 10px !important; }

.woocommerce-mini-cart__total { border-top: 2px solid var(--border-color); padding-top: 15px; font-size: 18px; text-align: center; }
.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.woocommerce-mini-cart__buttons a { display: block; text-align: center; padding: 12px; border-radius: 4px; font-weight: 600; margin: 0 !important; }
.woocommerce-mini-cart__buttons a.button:not(.checkout) { background-color: #f3f4f6; color: var(--text-main); }
.woocommerce-mini-cart__buttons a.checkout { background-color: var(--primary-color); color: #fff; }

.woocommerce-cart .woocommerce { display: flex; flex-wrap: wrap; gap: 40px; max-width: 1200px; margin: 40px auto; }
.woocommerce-cart form.woocommerce-cart-form { flex: 1; min-width: 60%; }
.woocommerce-cart-form__contents { width: 100%; border-collapse: separate; border-spacing: 0; }
.woocommerce-cart-form__contents th { background-color: #f9fafb; padding: 15px; font-size: 14px; color: var(--text-light); border-bottom: 2px solid var(--border-color); border-top: 1px solid var(--border-color); }
.woocommerce-cart-form__contents th:first-child { border-top-left-radius: 8px; border-left: 1px solid var(--border-color); }
.woocommerce-cart-form__contents th:last-child { border-top-right-radius: 8px; border-right: 1px solid var(--border-color); }
.woocommerce-cart-form__contents td { padding: 20px 15px; vertical-align: middle; border-bottom: 1px solid var(--border-color); background-color: #fff; }
.woocommerce-cart-form__contents tr:last-child td { border-bottom: 2px solid var(--border-color); }
.woocommerce-cart-form__contents tr td:first-child { border-left: 1px solid var(--border-color); }
.woocommerce-cart-form__contents tr td:last-child { border-right: 1px solid var(--border-color); }
.woocommerce-cart-form__contents .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; border: 1px solid #f3f4f6; }
.woocommerce-cart-form__contents .product-name a { font-weight: 600; color: var(--text-main); font-size: 15px; transition: color 0.2s; }
.woocommerce-cart-form__contents .product-name a:hover { color: var(--primary-color); }
.woocommerce-cart-form__contents a.remove { color: var(--danger-color) !important; font-weight: bold; font-size: 20px; background: #fef2f2 !important; width: 30px; height: 30px; line-height: 28px; border-radius: 50%; display: inline-block; transition: all 0.3s; }
.woocommerce-cart-form__contents a.remove:hover { background: var(--danger-color) !important; color: #fff !important; }

.woocommerce-cart .actions { background-color: #f9fafb; padding: 20px !important; border-radius: 0 0 8px 8px; }
.woocommerce-cart .coupon { display: flex; gap: 10px; }
.woocommerce-cart .coupon input.input-text { width: 200px; padding: 12px 15px; border-radius: 6px; border: 1px solid var(--border-color); }
.woocommerce-cart .coupon button.button { background-color: var(--text-main); padding: 12px 20px; border-radius: 6px; }
.cart-collaterals { width: 380px; flex-shrink: 0; }
.cart_totals { background-color: #fff; border: 2px solid var(--border-color); border-radius: 12px; padding: 30px; position: sticky; top: 100px; box-shadow: 0 10px 25px rgba(0,0,0,0.03); }
.cart_totals h2 { font-size: 20px; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--border-color); color: var(--text-main); }
.cart_totals table { width: 100%; border: none; }
.cart_totals th, .cart_totals td { padding: 15px 0; background: transparent; border-bottom: 1px solid #f3f4f6; }
.cart_totals th { font-weight: 500; color: var(--text-light); }
.cart_totals td { text-align: right; font-weight: 600; color: var(--text-main); }
.cart_totals .order-total th, .cart_totals .order-total td { border-bottom: none; font-size: 18px; padding-top: 20px; }
.cart_totals .order-total td strong { color: var(--primary-color); font-size: 24px; }
.wc-proceed-to-checkout { margin-top: 20px; }
.wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; text-align: center; padding: 18px !important; font-size: 18px; border-radius: 8px; background-color: var(--primary-color) !important; color: #fff !important; font-weight: bold; box-shadow: 0 4px 15px rgba(0, 110, 38, 0.2); transition: all 0.3s ease; }
.wc-proceed-to-checkout a.checkout-button:hover { background-color: var(--primary-hover) !important; transform: translateY(-2px); }

.woocommerce-checkout .header-search, .woocommerce-checkout .header-cart, .woocommerce-checkout .footer-widgets { display: none !important; }
.woocommerce-checkout .header-container { justify-content: center; padding: 20px 0; }
form.woocommerce-checkout { display: grid !important; grid-template-columns: 1fr 450px !important; gap: 0 50px !important; max-width: 1100px !important; margin: 40px auto !important; align-items: start !important; }
#customer_details { grid-column: 1 / 2 !important; grid-row: 1 / 3 !important; width: 100% !important; float: none !important; }
#order_review_heading { grid-column: 2 / 3 !important; grid-row: 1 / 2 !important; margin-top: 0 !important; float: none !important; width: 100% !important; font-size: 22px; }
#order_review { grid-column: 2 / 3 !important; grid-row: 2 / 3 !important; background: #f9fafb !important; padding: 30px !important; border-radius: 8px !important; border: 1px solid var(--border-color) !important; position: sticky !important; top: 20px !important; float: none !important; width: 100% !important; box-shadow: 0 10px 25px rgba(0,0,0,0.03) !important; }
.woocommerce-checkout .form-row { margin-bottom: 20px; }
.woocommerce-checkout .form-row label { display: block; font-size: 14px; font-weight: 600; color: var(--text-main); margin-bottom: 8px; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea { width: 100%; padding: 14px 15px; border: 1px solid var(--border-color); border-radius: 6px; font-size: 15px; background: #fff; transition: border-color 0.3s ease; }
.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row select:focus, .woocommerce-checkout .form-row textarea:focus { border-color: var(--primary-color); outline: none; box-shadow: 0 0 0 3px rgba(0, 110, 38, 0.15) !important; }
#place_order { width: 100%; padding: 18px; background-color: var(--primary-color); color: #fff; font-size: 18px; font-weight: 700; border: none; border-radius: 6px; cursor: pointer; transition: background 0.3s ease; margin-top: 20px; }
#place_order:hover { background-color: var(--primary-hover); }
.wc_payment_methods { list-style: none; padding: 0; border-bottom: 1px solid var(--border-color); margin-bottom: 20px; }
.wc_payment_methods li { padding: 15px 0; border-top: 1px solid var(--border-color); }

@media (max-width: 992px) {
    .woocommerce-cart .woocommerce { flex-direction: column; gap: 20px; }
    .cart-collaterals { width: 100%; position: static; }
    .woocommerce-cart .coupon { flex-direction: column; }
    .woocommerce-cart .coupon input.input-text { width: 100%; }
    form.woocommerce-checkout { grid-template-columns: 1fr !important; gap: 30px 0 !important; }
    #customer_details, #order_review_heading, #order_review { grid-column: 1 / 2 !important; grid-row: auto !important; position: static !important; }
}

/* ==========================================================
   9. FOOTER TASARIMI VE FOMO POPUP
   ========================================================== */
.site-footer { background-color: #f9fafb; border-top: 1px solid var(--border-color); padding-top: 60px; color: var(--text-main); font-size: 14px; margin-top: 60px; }
.site-footer .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; margin-bottom: 50px; align-items: start; }
.footer-widget .widget-title { font-size: 16px; font-weight: 700; color: var(--primary-color); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.5px; }

/* Menü ve Metin Listeleri */
.footer-links, .footer-contact-info, .textwidget ul { list-style: none; padding: 0; margin: 0; }
.footer-links li, .footer-contact-info li, .textwidget ul li { margin-bottom: 12px; color: var(--text-light); }
.footer-links a, .textwidget ul li a { color: var(--text-light); text-decoration: none; transition: all 0.3s ease; display: inline-block; }
.footer-links a:hover, .textwidget ul li a:hover { color: var(--primary-color); transform: translateX(5px); }

/* İyzico ve ETBİS Görselleri */
.footer-widget img { max-width: 100%; height: auto; border-radius: 4px; }
#ETBIS { margin-top: 15px; }

/* 🚀 KİLİT ÇÖZÜM: Sosyal Medya İkonları Düzeltmesi (Widget İçindeki <br> etiketlerini gizliyoruz) */
.hobis-social-footer .social-icons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 15px; }
.hobis-social-footer .social-icons br { display: none !important; } /* WP'nin eklediği satır atlamaları bıçak gibi keser */
.hobis-social-footer .social-icons a.icon { display: flex !important; align-items: center; justify-content: center; width: 38px; height: 38px; background-color: #fff; border: 1px solid var(--border-color); border-radius: 50%; text-decoration: none; font-size: 16px; color: var(--text-main); transition: all 0.3s ease; margin: 0 !important; }
.hobis-social-footer .social-icons a.icon:hover { background-color: var(--primary-color); border-color: var(--primary-color); color: #fff; transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0, 110, 38, 0.2); }

/* 🚀 KİLİT ÇÖZÜM: Güncel Değerlendirmeler (Reviews Widget) Düzeltmesi */
.footer-widget .product_list_widget { list-style: none; padding: 0; margin: 0; }
.footer-widget .product_list_widget li { display: flex; flex-direction: column; padding: 15px 0; border-bottom: 1px solid var(--border-color); }
.footer-widget .product_list_widget li:last-child { border-bottom: none; }
.footer-widget .product_list_widget li a { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--text-main); text-decoration: none; font-size: 13px; line-height: 1.4; transition: color 0.2s; }
.footer-widget .product_list_widget li a:hover { color: var(--primary-color); }
.footer-widget .product_list_widget li img { width: 45px !important; height: 45px !important; object-fit: cover; border-radius: 6px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); margin: 0 !important; float: none !important; }
.footer-widget .product_list_widget li .star-rating { font-size: 11px; margin-top: 8px; color: #eab308; }
.footer-widget .product_list_widget li .reviewer { font-size: 12px; color: var(--text-light); margin-top: 3px; font-style: italic; }

.footer-bottom { background-color: #fff; border-top: 1px solid var(--border-color); padding: 20px 0; text-align: center; color: var(--text-light); font-size: 13px; }
.footer-column .footer-widget { margin-bottom: 30px; }
.footer-column .footer-widget:last-child { margin-bottom: 0; }

#hobis-fomo-notification { position: fixed; bottom: 30px; left: 20px; width: 340px; max-width: calc(100vw - 40px); background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); z-index: 99999; border-left: 4px solid var(--primary-color); padding: 15px; transform: translateX(-120%); opacity: 0; transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
#hobis-fomo-notification.show { transform: translateX(0); opacity: 1; }
.fomo-close-btn { position: absolute; top: -10px; right: -10px; background: #fff; border: 1px solid var(--border-color); border-radius: 50%; width: 24px; height: 24px; line-height: 22px; text-align: center; cursor: pointer; color: var(--text-light); font-size: 16px; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: all 0.2s; }
.fomo-close-btn:hover { color: var(--primary-color); border-color: var(--primary-color); }
.fomo-content { display: flex; align-items: center; gap: 12px; }
.fomo-img { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; border: 1px solid var(--border-color); }
.fomo-text { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.fomo-title { font-size: 13px; line-height: 1.3; font-weight: 700; color: var(--text-main); margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fomo-stats { font-size: 12px; color: var(--text-light); line-height: 1.5; }
.fomo-stat-row { display: block; }
.fomo-bold { color: #000; font-weight: 800; }
.fomo-live-dot { display: inline-block; width: 8px; height: 8px; background-color: var(--primary-color); border-radius: 50%; margin-right: 5px; animation: fomoPulse 1.5s infinite; }
@keyframes fomoPulse { 0% { box-shadow: 0 0 0 0 rgba(0, 110, 38, 0.7); } 70% { box-shadow: 0 0 0 6px rgba(0, 110, 38, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 110, 38, 0); } }

@media (max-width: 600px) {
    #hobis-fomo-notification { bottom: 20px; left: 50%; transform: translate(-50%, 150%); width: calc(100vw - 40px); }
    #hobis-fomo-notification.show { transform: translate(-50%, 0); }
}
/* ==========================================================
   PERFORMANS: DÜZEN KAYMASI (CLS) KORUMASI
   ========================================================== */

/* 1. İyzico Görselinin Kaymasını Engelle (Resim yüklenmeden yerini ayırır) */
.footer-widget img.wp-image-132221 {
    aspect-ratio: 295 / 337;
    width: 100% !important;
    height: auto !important;
    max-width: 295px !important;
    display: block;
}

/* 2. Google Müşteri Yorumları Rozetinin Ekranı İtmesini Engelle */
/* Rozet ekrana sabitlenir, HTML akışından koparılır ve içerikleri aşağı itmez */
div[id^="__ratingbadge_"] {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    width: auto !important;
    height: auto !important;
}

/* 3. SEO Alanının Sonradan Yüklenen Fontlarla Zıplamasını Engelle */
.seo-content-area {
    min-height: 400px; /* Tarayıcıya önceden bir tahmini alan verir */
    contain: layout; /* İçerideki değişikliklerin dışarıyı etkilemesini engeller */
}
/* ==========================================================
   PERFORMANS: DÜZEN KAYMASI (CLS) KİLİTLERİ
   ========================================================== */

/* 1. İyzico Resminin Yüklenirken Sayfayı İtmesini Engelleme */
.footer-widget img.wp-image-132221 {
    aspect-ratio: 295 / 337 !important; /* Resim inmeden tarayıcıda yerini rezerve eder */
    width: 100% !important;
    max-width: 295px !important;
    height: auto !important;
    display: block;
}

/* 2. SEO Alanının Yüklenirken Titremesini Engelleme */
.seo-content-area {
    min-height: 450px; /* İçerik gelene kadar geçici alan tutar */
    contain: layout;
}

/* 3. Google Yorumlar Rozetinin Sayfayı Kaydırmasını Engelleme */
div[id^="__ratingbadge_"] {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    width: auto !important;
    height: auto !important;
}