/* --- GLOBAL STYLES --- */
.product.disable-atc-btn .wd-add-btn, .product.disable-atc-btn .add_to_cart_button, .product.disable-atc-btn .wd-action-btn.wd-add-cart-btn, .product.disable-atc-btn .product_type_simple.add_to_cart_button { display: none !important;
opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }

.koli-pulse-badge { display: inline-block; background-color: #eb5c27; color: #fff; padding: 4px 10px;
border-radius: 6px; font-weight: 800; font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase; animation: koliPulse 2s infinite;
}
@keyframes koliPulse { 0% { transform: scale(0.98); box-shadow: 0 0 0 0 rgba(235, 92, 39, 0.7);
} 50% { transform: scale(1.05); box-shadow: 0 0 0 6px rgba(235, 92, 39, 0); } 100% { transform: scale(0.98);
box-shadow: 0 0 0 0 rgba(235, 92, 39, 0); } }

.hybrid-wrapper{display:flex; flex-wrap:wrap; gap:30px; font-family:'Segoe UI',sans-serif;
margin-bottom:20px} 
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0} 
input[type=number]{-moz-appearance:textfield} 

/* --- LAYOUTS --- */
.layout-type-standard .modern-left { flex:1; min-width:0; order: 1; background: #fff; border: 1px solid #e1e4e8;
border-radius: 12px; padding: 20px; }
.layout-type-standard .modern-right { flex:0 0 430px; max-width: 430px; width: 430px; order: 2;
}
.layout-type-standard .mode-switcher { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; width: 100%; }
.layout-type-standard .mode-opt { width: 100%; box-sizing: border-box;
padding: 12px 20px; cursor: pointer; border-radius: 50px; border: 1px solid #e1e4e8; background: #fff; color: #555; font-weight: 600; font-size: 14px;
transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; text-align: center; }
.layout-type-standard .mode-opt:hover { border-color: #ccc; background: #f9f9f9;
}
.layout-type-standard .mode-opt.active { background: #fff; color: #eb5c27; border: 2px solid #eb5c27; box-shadow: 0 4px 12px rgba(235,92,39,0.1); font-weight: 700;
}

.minimal-discount-wrapper { margin-bottom: 20px; padding: 15px; border: 1px dashed #eb5c27; border-radius: 12px; background: #fff; text-align: left; width: 100%; box-sizing: border-box;
}

/* Mobile */
@media (max-width: 768px) {
    .hybrid-wrapper.layout-type-standard { flex-direction: column;
}
    .layout-type-standard .modern-left, .layout-type-standard .modern-right { width: 100% !important; flex: 1 1 auto !important; max-width: 100% !important;
}
    .layout-type-standard .mode-switcher { flex-direction: row !important; background: #f0f2f5; padding: 4px; border-radius: 10px; border: 1px solid #e1e4e8;
height: auto !important; min-height: 48px; gap: 4px !important; }
    .layout-type-standard .mode-opt { flex: 1; width: auto !important;
border-radius: 8px !important; border: none !important; background: transparent !important; justify-content: center !important; text-align: center !important; padding: 6px 2px !important;
font-size: 12px !important; line-height: 1.2; height: auto !important; min-height: 40px; }
    .layout-type-standard .mode-opt.active { background: #fff !important;
color: #eb5c27 !important; box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important; border: none !important;
}
}

/* Complex Layout */
.layout-type-complex .mode-switcher { flex: 0 0 100%; width: 100%; order: 1; display: flex; background: #f0f2f5; padding: 4px;
border-radius: 10px; margin-bottom: 0px; border: 1px solid #e1e4e8; height: 48px; align-items: center; justify-content: center; }
.layout-type-complex .mode-opt { flex: 1;
text-align: center; height: 40px; cursor: pointer; border-radius: 8px; border: none; background: transparent; color: #666; font-weight: 600; font-size: 13px;
transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; margin: 0 2px; }
.layout-type-complex .mode-opt.active { background: #fff; color: #eb5c27;
box-shadow: 0 2px 6px rgba(0,0,0,0.05); font-weight: 700; }
.layout-type-complex .modern-left { flex:2; min-width:300px; transition: opacity 0.3s ease; order: 2;
} 
.layout-type-complex .modern-right { flex:1; min-width:260px; order: 3; }

.mode-opt input { display: none; }
.mode-title { flex: 1;
}

.kg-variants-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 12px; }
.kg-card { border: 2px solid #eaeaea; border-radius: 10px;
padding: 8px 4px; cursor: pointer; transition: all 0.2s ease; background: #fff; position: relative; display: flex; flex-direction: column; justify-content: center;
align-items: center; text-align: center; overflow: hidden; }
.kg-card:hover { border-color: #ddd; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.kg-card.active { border-color: #eb5c27; box-shadow: 0 0 0 1px #eb5c27 inset; background: #fff; }
.kg-card input { display: none;
}
.kg-img-container { width: 100%; height: 60px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; border-radius: 6px; overflow: hidden;
}
.kg-img-container img { max-width: 100%; max-height: 100%; object-fit: contain; }
.no-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center;
justify-content: center; font-size: 10px; color: #aaa; background: #f9f9f9; }
.kg-details { width: 100%; }
.kg-label { font-size: 12px; font-weight: 700; display: block;
margin-bottom: 2px; color: #333; }
.kg-price { font-size: 11px; font-weight: 600; color: #777; display: block; }
.kg-card.active .kg-price { color: #eb5c27;
}

/* --- MODERN GRID --- */
.modern-group { background:#fff; border-radius:8px; margin-bottom:6px; border:1px solid #f0f0f0; padding:7px; } 
.group-header { font-weight:700; margin-bottom:12px; display:flex;
align-items:center; color:#444; font-size:14px; } 
.group-header .badge { background:#eb5c27; color:#fff; width:20px; height:20px; border-radius:50%; display:inline-flex; justify-content:center; align-items:center; margin-right:8px; font-size:11px;
} 

/* --- OPTION BAR (RESET BUTONU) - GHOST BUTTON STİLİ --- */
.option-bar {
    display: none;
/* Varsayılan gizli */
    width: 100%; 
    box-sizing: border-box;
    padding: 6px 0; 
    margin-bottom: 15px;
    background: #fff;
    border: 1px solid #eb5c27; 
    border-radius: 6px; 
    color: #eb5c27; 
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.option-bar:hover {
    background: #eb5c27; 
    color: #fff; 
    box-shadow: 0 4px 10px rgba(235,92,39,0.15);
}
.option-bar input, .check-icon { display: none !important; }
.bar-text { width: 100%; display: block; pointer-events: none;
}


.modern-grid { 
    display:grid; 
    grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); 
    gap:10px; 
    align-items: start;
} 

/* KART YAPISI - FIX UYGULANDI */
.modern-card {
    border: 1px solid #d5d5d5;
/* Alt tarafın sönük durmasını engellemek için genel padding ekliyoruz */
    padding: 0 0 6px 0 !important;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    background: #fff;
    background-clip: padding-box;
    transition: all .2s;
    min-height: auto !important; 
    height: auto !important;
    overflow: visible !important; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
} 
.modern-card:hover { border-color:#ccc; transform:translateY(-2px); box-shadow:0 6px 15px rgba(0,0,0,0.08); z-index: 50;
} 

/* Aktif Kart */
.modern-card.active-card { 
    border: 1px solid #eb5c27 !important; 
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(235,92,39,0.1) !important; 
    /* Stepper göründüğünde padding'i koruyoruz, sıkışma olmasın */
    padding-bottom: 8px !important;
    z-index: 40;
} 
.modern-card .check-input { display:none;
} 

/* GÖRSEL ALANI */
.card-thumb {
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    margin: 0 !important;
    padding: 0 !important;
/* Alt köşelerdeki radius'u kaldırabiliriz çünkü kartın padding'i var artık, ama durması da sorun değil */
    border-radius: 8px 8px 0 0;
}
.card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    margin: 0 !important;
    display: block !important;
    padding: 5px; 
    border-radius: 8px 8px 0 0;
} 

/* TİK İŞARETİ */
.selected-check-mark {
    position: absolute; top: 6px; right: 6px;
    width: 18px; height: 18px;
    background: #eb5c27; color: white;
    border-radius: 50%; font-size: 10px;
    display: none; align-items: center; justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    z-index: 20; pointer-events: none;
}
.modern-card.active-card .selected-check-mark { display: flex; }

/* --- STEPPER ALANI --- */
.mini-stepper {
    display: none;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 10px); /* Kenarlardan biraz daha içerde */
    height: 36px;
/* Yüksekliği biraz azalttık */
    background: transparent;
    margin-top: auto; 
    margin-left: auto;
    margin-right: auto;
/* Margin bottom gerekmez çünkü kartın padding-bottom'ı var */
    gap: 4px; 
    padding: 0; 
    position: relative;
    z-index: 10;
    box-sizing: border-box;
} 

/* BUTONLAR */
.mini-btn {
    flex: 0 0 28px;
    height: 34px;   
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    color: #555 !important;
    font-weight: 700;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1;
    transition: all 0.2s;
} 
.mini-btn:hover { 
    border-color: #eb5c27 !important; 
    color: #eb5c27 !important; 
    background: #fff !important;
}

/* INPUT */
.qty-input {
    flex: 1;
    height: 100% !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-weight: 700;
    color: #333;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 34px !important;
    box-shadow: none !important;
} 

/* --- HOVER PREVIEW --- */
.hover-preview {
    position:absolute; bottom:100%; left:50%;
    transform:translateX(-50%);
    width:140px; background:#fff;
    padding:5px; border-radius:6px;
    box-shadow:0 8px 25px rgba(0,0,0,.15);
    opacity:0; visibility:hidden; z-index:999; 
    pointer-events:none; 
    border:1px solid #eee; text-align:center; margin-bottom:6px;
    transition: opacity 0.15s ease;
} 
.hover-preview::after {
    content:''; position:absolute; top:100%; left:50%; margin-left:-6px;
    border-width:6px; border-style:solid;
    border-color:#fff transparent transparent transparent;
} 
.modern-card:hover .hover-preview { 
    opacity:1; 
    visibility:visible; 
    pointer-events: auto;
} 
/* İçerik Stilleri */
.p-img img { width:100%;
height:60px; object-fit:contain; margin-bottom:2px; border-radius: 0; padding: 0;
} 
.p-inf .n { font-weight:600; font-size:10px; color:#333; display:block; line-height:1.2; margin-bottom:1px;
} 
.p-inf .p { color:#eb5c27; font-weight:800; font-size:12px;
} 

/* SKU Link */
.p-inf .sk { display:block; font-size:9px; color:#888; margin-bottom:2px; font-family:monospace;
letter-spacing:0.5px;}
.p-inf .sk a { color: #eb5c27 !important;
text-decoration: underline !important; cursor: pointer !important; pointer-events: auto !important;
}

/* Diğer */
.sticky-price-box{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:10px;text-align:left;position:sticky;top:20px;box-shadow:0 10px 30px rgba(0,0,0,.05); display: flex;
flex-direction: column; gap: 15px;} 
.compact-qty-box { background: #fbfbfb; border-radius: 8px;
padding: 12px; border: 1px solid #eee; }
.compact-header { display: flex;
justify-content: space-between; align-items: center; margin-bottom: 12px; }
.c-title { font-size: 12px;
font-weight: 700; color: #333; text-transform: uppercase; letter-spacing: 0.5px;
}
.stock-status { font-size: 10px; color: #28a745; font-weight: 600; display: flex; align-items: center;
background: #eafaf1; padding: 2px 8px; border-radius: 4px;
}
.dot { width: 5px; height: 5px; background: #28a745; border-radius: 50%; margin-right: 5px;
}
.qty-stepper-wrapper { display: flex; align-items: center; background: #fff;
border: 1px solid #ddd; border-radius: 8px; overflow: hidden; height: 42px; margin-bottom: 12px;
justify-content: space-between;}
.qty-action-btn { width: 45px; height: 100%;
border: none; background: #fff; color: #555; font-size: 20px; font-weight: 700; cursor: pointer;
transition: .2s; display: flex; align-items: center; justify-content: center;
padding-bottom: 2px; }
.qty-action-btn:hover { background: #eb5c27; color: #fff; }
#custom_main_qty { flex: 1;
height: 100% !important; border: none !important;
text-align: center !important; font-size: 18px !important; font-weight: 800 !important; color: #333 !important;
padding: 0 !important; background: transparent !important;
}

/* Compact Info Bar */
.compact-info-bar { display: flex; align-items: center; justify-content: space-between; font-size: 11px;
color: #666; margin-bottom: 8px;
border-bottom: 1px solid #f0f0f0; padding-bottom: 8px; flex-wrap: wrap; gap: 5px; }
.c-info-item { display: flex; align-items: center;
white-space: nowrap; flex-shrink: 0;
}
.compact-info-bar .lbl { font-weight: 400; margin-right: 4px; color: #999; }
.compact-info-bar .val { font-weight: 700; color: #444;
}
#row-package-content { margin-left: auto;
border-left: none !important; padding-left: 0 !important; }
.compact-context { font-size: 10px; text-align: center; color: #eb5c27; font-weight: 700;
background: rgba(235,92,39,0.08); padding: 5px;
border-radius: 4px; width: 100%; box-sizing: border-box; line-height: 1.3; white-space: normal; }

#breakdown-list { margin-bottom: 5px; padding-right: 0;
} 
#breakdown-list::-webkit-scrollbar { display: none; }
.breakdown-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 6px 0; border-bottom: 1px dashed #eee;
gap: 10px; line-height: 1.2; } 
.breakdown-row:last-child { border-bottom: none; } 
.b-name { font-weight: 600; color: #555; font-size: 11px; flex: 1;
} 
.b-price { font-weight: 700; color: #eb5c27; font-size: 12px; white-space: nowrap; } 
.breakdown-row.detail-row .b-name { font-size: 10px; color: #999;
font-weight: 400; }
.breakdown-row.no-border { border-bottom: none; padding-bottom: 0; }

/* Invoice */
.modern-invoice { background: transparent; border-top: 2px solid #f0f0f0; padding-top: 15px;
color: #333; display: flex; flex-direction: column; gap: 6px;}
.inv-row { display: flex; justify-content: space-between; align-items: center; }
.inv-row.small-row { font-size: 11px;
color: #888; }
.inv-row.main-total { margin-top: 10px; background: #fff5f2; padding: 12px 15px; border-radius: 8px; border: 1px solid #eb5c27;
box-shadow: 0 4px 15px rgba(235,92,39,0.1); align-items: center; }
.inv-row.main-total span:first-child { font-weight: 700; font-size: 13px; color: #444; text-transform: none; letter-spacing: 0;
}
.big-price { display: inline-flex; align-items: baseline; justify-content: flex-end; gap: 4px; }
#d-total { font-size: 20px; font-weight: 700; color: #eb5c27; letter-spacing: -0.3px;
line-height: 1; }
.manual-symbol { font-size: 18px !important; font-weight: 500 !important; color: #eb5c27; opacity: 0.9; line-height: 1;
}
.discount-row { color: #28a745 !important; font-weight: 600; }
.hidden-row { display: none !important; }

.mini-disc-title { font-size: 10px; font-weight: 800; color: #eb5c27;
margin-bottom: 6px; letter-spacing: 1px; text-transform: uppercase; }
.mini-tier-row { display: flex; gap: 4px; flex-wrap: wrap; }
.mini-tier-pill { font-size: 10px;
padding: 3px 6px; border-radius: 4px; background: #f4f4f4; color: #2b2b2b; font-weight: 600; white-space: nowrap; border: 1px solid #eee;}
.mini-tier-pill.active { background: #eb5c27;
color: #fff; border-color: #eb5c27; box-shadow: 0 2px 4px rgba(235,92,39,0.2);}
.mini-status-text { margin-top: 9px; font-size: 11px; line-height: 1.4; }
.mini-warning { background: #fff5f2;
padding: 6px; border-radius: 4px; color: #444; border-left: 3px solid #eb5c27;}
.mini-warning strong { color: #eb5c27; }
.mini-success { color: #28a745; font-weight: 700;
background: #f0faf3; padding: 6px; border-radius: 4px; display: inline-block; width: 100%;
box-sizing: border-box;}

/* --- MINI CART TWEAKS (DÜZELTİLDİ) --- */
.widget_shopping_cart .woocommerce-mini-cart-item .quantity,
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity {
    display: inline-flex !important;
    width: auto !important;
    max-width: fit-content !important; 
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    flex-wrap: nowrap !important;
    gap: 5px !important; 
    margin: 0 !important;
    background: transparent !important; 
}

.widget_shopping_cart .woocommerce-mini-cart-item .quantity button,
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity button {
    flex-shrink: 0 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item .quantity input.qty,
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity input.qty {
    width: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
    padding: 0 !important;
    text-align: center !important;
    flex-grow: 0 !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item .quantity .amount,
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity .amount {
    float: none !important;
    margin-left: 0 !important;
    display: inline-block !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item .quantity .amount::before,
.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity .amount::before {
    content: "Toplam Fiyat: ";
    font-weight: 600;
    color: #555;
    font-size: 11px;
    margin-right: 3px;
    white-space: nowrap;
}

/* --- GLOBAL INVOICE REPLACEMENT (FİNAL: MİNİMAL & #333 & SİMETRİK) --- */

/* 1. Mini Cart: Varsayılan Toplamı Gizle */
.woocommerce-mini-cart__total, 
.widget_shopping_cart_content .total {
    display: none !important;
}

/* 2. Cart Page: Varsayılan Tablo Satırlarını Gizle */
.cart_totals .shop_table .cart-subtotal,
.cart_totals .shop_table .order-total,
.cart_totals .shop_table .tax-rate {
    display: none !important;
}

/* 3. Checkout Page: Varsayılan Tablo Satırlarını Gizle */
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .order-total,
.woocommerce-checkout-review-order-table .tax-rate {
    display: none !important;
}

/* Modern Invoice Cart Konteyner - Minimal */
.modern-invoice-cart {
    margin-top: 15px;
    border: 0px solid #e0e0e0;
/* Daha yumuşak gri kenarlık */
    border-radius: 8px;
    padding: 12px;
/* Boşluklar azaltıldı */
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
/* Çok hafif gölge */
}

.modern-invoice-cart .inv-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
/* Satır arası daraltıldı */
    line-height: 1.3;
}

/* --- SİMETRİ DÜZELTMESİ BURADA YAPILDI --- */
/* Ara Toplam (Sepet Toplamı) - Genel Toplam ile hizalamak için padding eklendi */
.modern-invoice-cart .inv-row.small-row {
    font-size: 13px !important;
    font-weight: 500;
    color: #666;
    padding: 0 12px; /* DÜZELTME: Genel toplamın iç boşluğuyla eşitlendi */
}
/* Ara Toplam Fiyatı */
.modern-invoice-cart .inv-row.small-row span:last-child {
    font-weight: 700;
    color: #333;
    font-size: 14px;
}

/* İndirim Satırı */
.modern-invoice-cart .inv-row.discount-row,
.modern-invoice-cart .inv-row.discount-row span {
    color: #28a745 !important; /* İndirim rengini zorla */
}

.modern-invoice-cart .inv-row.discount-row {
    font-weight: 600;
    font-size: 12px !important;
    background: #f0faf3;
    padding: 4px 12px; /* DÜZELTME: Padding 8px'den 12px'e çıkarıldı (hizalama için) */
    border-radius: 4px;
}

/* Genel Toplam Alanı */
.modern-invoice-cart .inv-row.main-total {
    margin-top: 10px;
    background: #f9f9f9;
/* Nötr gri arka plan */
    padding: 10px 12px;
/* Optimize edilmiş boşluk */
    border-radius: 6px;
    border: 1px solid #eee;
    display: flex;
    align-items: center;
}

/* "Genel Toplam" Etiketi */
.modern-invoice-cart .inv-row.main-total span:first-child {
    font-size: 14px !important;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Genel Toplam Fiyatı (Rengi #333 yapıldı) */
.modern-invoice-cart .big-price {
    font-size: 22px !important;
/* Orantılı büyük */
    font-weight: 800;
    color: #333 !important;
/* İSTENEN RENK */
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 2px;
}

/* Para Birimi Simgesi */
.modern-invoice-cart .big-price small {
    font-size: 14px !important;
    font-weight: 600;
    opacity: 0.8;
    color: #333 !important; /* İSTENEN RENK */
}