/* ==================================
   [bagis_ekle] Stilleri (v1.2)
   ================================== */

.bbe-donate-form-area {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    background: #fff;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.07);
}
.bbe-donate-ust-baslik {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 0.25rem;
    display: block;
}
.bbe-donate-amount-label {
    font-size: 1em;
    color: #333;
    margin-bottom: 0.5rem;
    display: block;
}
.bbe-donate-amount-input-wrapper {
    position: relative;
    margin-bottom: 1.5rem;
}
.bbe-donate-amount-input {
    width: 100%;
    padding: 15px;
    font-size: 1.75em;
    font-weight: bold;
    border: 1px solid #ddd;
    border-radius: 8px;
}
.bbe-donate-amount-input::-webkit-outer-spin-button,
.bbe-donate-amount-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.bbe-donate-amount-input[type=number] {
    -moz-appearance: textfield;
}
.bbe-donate-amount-fixed {
    font-size: 2.2em;
    font-weight: bold;
    color: #111;
    margin-bottom: 1.5rem;
}
.bbe-donate-type { display: none; }
.bbe-donate-buttons {
    display: flex;
    gap: 10px;
    width: 100%;
}
.bbe-donate-btn {
    flex: 1;
    padding: 12px 10px;
    font-size: 1em;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
}
.bbe-btn-primary {
    background-color: #28a745;
    color: #fff;
}
.bbe-btn-secondary {
    background-color: #f0f0f0;
    color: #333;
    border: 1px solid #ddd;
}
.bbe-form-message {
    display: none;
    margin-top: 10px;
    color: green;
    font-weight: bold;
}


/* ==================================
   [bagis_sepeti] Stilleri (v0.9)
   ================================== */
.bbe-sepet-container { display: flex; flex-wrap: wrap; gap: 2rem; width: 100%; }
.bbe-sepet-items { flex: 3; min-width: 300px; display: flex; flex-direction: column; gap: 1.5rem; }
.bbe-sepet-sidebar { flex: 1; min-width: 280px; }
.bbe-sepet-item-card { display: flex; background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); padding: 1.5rem; gap: 1.5rem; position: relative; border: 1px solid #eee; }
.bbe-sepet-item-image { flex-shrink: 0; }
.bbe-sepet-item-image img { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; display: block; }
.bbe-sepet-item-details { display: flex; flex-direction: column; width: 100%; }
.bbe-sepet-item-title { font-size: 1.25em; margin: 0 0 1rem 0; padding-right: 20px; }
.bbe-sepet-info-grid { display: flex; gap: 1.5rem; margin-top: auto; }
.bbe-sepet-info-label { display: block; font-size: 0.85em; color: #777; margin-bottom: 0.25rem; }
.bbe-sepet-info-value { font-size: 1.1em; font-weight: bold; }
.bbe-sepet-item-remove { position: absolute; top: 1rem; right: 1.5rem; font-size: 1.5em; color: #aaa; text-decoration: none; line-height: 1; }
.bbe-sepet-item-remove:hover { color: #f00; }
.bbe-sepet-toplam-card { background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); border: 1px solid #eee; padding: 1.5rem; position: sticky; top: 2rem; }
.bbe-sepet-toplam-card h4 { font-size: 1em; font-weight: normal; color: #555; margin: 0 0 0.5rem 0; }
.bbe-sepet-toplam-fiyat { display: block; font-size: 2em; font-weight: bold; margin-bottom: 1.5rem; }
.bbe-odeme-butonu { display: block; width: 100%; text-align: center; background-color: #007bff; color: #fff; padding: 0.8rem 1rem; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1em; }

/* ==================================
   [bagis_odeme_formu] Stilleri (v1.4)
   ================================== */
.bbe-payment-container { display: flex; flex-wrap: wrap; gap: 2rem; }
.bbe-payment-left { flex: 1; min-width: 300px; }
.bbe-payment-right { flex: 1; min-width: 300px; }
.bbe-payment-form .bbe-payment-right > .bbe-cart-summary { background: #fff; padding: 0; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); border: 1px solid #eee; }
.bbe-payment-form .bbe-payment-right > h3 { background: #fff; padding: 1.5rem 1.5rem 0 1.5rem; margin-bottom: 0; border-radius: 12px 12px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.05); border: 1px solid #eee; border-bottom: none; }
.bbe-payment-form .bbe-payment-right > .bbe-tab-content { background: #fff; padding: 1.5rem; border-radius: 0 0 12px 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); border: 1px solid #eee; border-top: none; }
.bbe-payment-form .bbe-payment-right > .bbe-payment-submit-btn { margin-top: 1rem; }
.bbe-payment-title { font-size: 1.25em; font-weight: bold; margin-bottom: 1.5rem; }
.bbe-input-group { position: relative; margin-bottom: 1rem; }
.bbe-input-group .bbe-input-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #999; font-size: 1.1em; }
.bbe-input-group input[type="text"],
.bbe-input-group input[type="email"],
.bbe-input-group input[type="tel"] { width: 100%; padding: 15px 15px 15px 45px; border: 1px solid #ddd; border-radius: 8px; font-size: 1em; }
.bbe-payment-tabs { display: flex; gap: 10px; margin-bottom: 1.5rem; }
.bbe-payment-tabs input[type="radio"] { display: none; }
.bbe-payment-tab-label { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border: 1px solid #ddd; border-radius: 8px; cursor: pointer; background: #fff; transition: all 0.2s ease; }
.bbe-payment-tab-label .bbe-tab-icon { font-size: 1.2em; }
.bbe-payment-tabs input[type="radio"]:checked + .bbe-payment-tab-label { border-color: #28a745; background-color: #f0fef4; color: #28a745; font-weight: bold; box-shadow: 0 2px 5px rgba(40,167,69,0.2); }
.bbe-tab-content { background: #fafafa; padding: 15px; border-radius: 8px; }
.bbe-tab-content ul { margin: 0.5rem 0 0 1rem; padding: 0; }
.bbe-tab-content li { margin-bottom: 0.5rem; }
.bbe-cc-form label { font-weight: bold; font-size: 0.9em; display: block; margin-bottom: 5px; }
.bbe-cc-form input[disabled],
.bbe-cc-form textarea { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 10px; background: #f9f9f9; }
.bbe-payment-submit-btn { width: 100%; padding: 15px; font-size: 1.1em; font-weight: bold; color: #fff; background-color: #28a745; border: none; border-radius: 8px; cursor: pointer; margin-top: 1.5rem; transition: opacity 0.2s ease; }
.bbe-payment-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.bbe-error-box { padding: 15px; background-color: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; border-radius: 4px; margin-bottom: 20px; }
.bbe-error-box ul { margin: 0; padding-left: 20px; }
.bbe-input-error { border-color: red !important; }
.bbe-cart-summary { border: 1px solid #eee; border-radius: 8px; margin-bottom: 1.5rem; background: #fff; padding: 0; }
.bbe-summary-title { font-size: 1em; font-weight: bold; padding: 10px 15px; border-bottom: 1px solid #eee; margin: 0; background: #f9f9f9; border-radius: 8px 8px 0 0; }
.bbe-summary-list { list-style: none; margin: 0; padding: 15px; max-height: 150px; overflow-y: auto; }
.bbe-summary-list li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 0.9em; }
.bbe-summary-item-name { color: #555; }
.bbe-summary-item-price { font-weight: bold; color: #111; }
.bbe-summary-total { display: flex; justify-content: space-between; align-items: center; padding: 15px; border-top: 1px solid #ddd; background: #f9f9f9; border-radius: 0 0 8px 8px; }
.bbe-summary-total-label { font-weight: bold; font-size: 1.1em; }
.bbe-summary-total-price { font-weight: bold; font-size: 1.3em; color: #28a745; }

/* ==================================
   [bbe_tesekkur_sayfasi] Stilleri (v2.5)
   ================================== */
.bbe-thankyou-container { max-width: 900px; margin: 20px auto; padding: 2rem; background: #fff; border: 1px solid #eee; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.bbe-thankyou-container h2 { font-size: 1.8em; margin-top: 0; }
.bbe-donation-id-box { background: #f0fef4; border: 1px solid #28a745; color: #333; padding: 1.5rem; border-radius: 8px; margin: 1.5rem 0; text-align: center; font-size: 1.1em; }
.bbe-donation-id-box span { display: block; font-size: 1.8em; font-weight: bold; color: #28a745; margin-top: 10px; letter-spacing: 1px; }
.bbe-bank-title { font-size: 1.25em; font-weight: bold; margin-top: 2rem; margin-bottom: 1rem; }
.bbe-bank-info-list { list-style: none; margin: 0 0 2rem 0; padding: 1rem; background: #f9f9f9; border-radius: 8px; }
.bbe-bank-info-list li { padding: 8px 0; border-bottom: 1px dashed #ddd; font-size: 1.1em; }
.bbe-bank-info-list li:last-child { border-bottom: none; }
.bbe-thankyou-container .bbe-cart-summary { border: 1px solid #ddd; border-radius: 8px; background: #fff; padding: 0; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.bbe-cart-summary .bbe-summary-section { padding: 15px 20px; }
.bbe-cart-summary .bbe-summary-section h4 { font-size: 1em; text-transform: uppercase; color: #777; margin: 0 0 10px 0; border-bottom: 1px dashed #eee; padding-bottom: 5px; }
.bbe-cart-summary .bbe-summary-info-list { list-style: none; margin: 0; padding: 0; }
.bbe-cart-summary .bbe-summary-info-list li { margin-bottom: 5px; font-size: 0.95em; }
.bbe-cart-summary .bbe-summary-list { padding: 0; }
.bbe-cart-summary .bbe-summary-total { padding: 15px 0 0 0; background: none; border-radius: 0; border-top: 1px solid #eee; margin-top: 10px; }

/* ==================================
   [bbe_mini_cart] Stilleri (v3.8)
   ================================== */
.bbe-mini-cart-wrapper {
    display: inline-block;
    position: relative; 
}
.bbe-mini-cart-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 0.9em;
    cursor: pointer;
}
.bbe-mini-cart-link:hover { background: #f0f0f0; color: #000; }
.bbe-mini-cart-link .dashicons-cart { font-size: 18px; line-height: 1; }
.bbe-mini-cart-count { background: #28a745; color: #fff; font-size: 0.8em; padding: 2px 6px; border-radius: 10px; line-height: 1; }
.bbe-mini-cart-total { font-weight: bold; }

.bbe-mini-cart-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: 320px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    z-index: 9999;
    margin-top: 8px;
}
.bbe-mini-cart-dropdown.is-visible { display: block; }
.bbe-mini-cart-header { display: flex; justify-content: space-between; align-items: center; padding: 10px 15px; border-bottom: 1px solid #eee; }
.bbe-mini-cart-header h4 { margin: 0; font-size: 1.1em; }
.bbe-mini-cart-close { font-size: 24px; font-weight: bold; color: #aaa; cursor: pointer; line-height: 1; }
.bbe-mini-cart-close:hover { color: #000; }
.bbe-mini-cart-content { padding: 15px; max-height: 300px; overflow-y: auto; }
.bbe-mini-cart-empty { text-align: center; color: #777; margin: 10px 0; }
.bbe-mini-cart-item { display: flex; gap: 12px; margin-bottom: 15px; }
.bbe-mini-cart-item-image img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; }
.bbe-mini-cart-item-details { display: flex; flex-direction: column; }
.bbe-mini-cart-item-title { font-weight: bold; color: #333; margin-bottom: 4px; }
.bbe-mini-cart-item-price { font-size: 0.9em; color: #555; }
.bbe-mini-cart-footer { padding: 15px; border-top: 1px solid #eee; background: #f9f9f9; border-radius: 0 0 8px 8px; }
.bbe-mini-cart-subtotal { display: flex; justify-content: space-between; font-size: 1.1em; font-weight: bold; margin-bottom: 15px; }
.bbe-mini-cart-subtotal span { font-weight: normal; }
.bbe-mini-cart-button-go { display: block; width: 100%; text-align: center; background-color: #28a745; color: #fff; padding: 10px 15px; border-radius: 8px; text-decoration: none; font-weight: bold; }
.bbe-mini-cart-button-go:hover { background-color: #218838; }


/* ==================================
   GÜNCELLENDİ (v3.8.5): Kadence "Search" VE "HTML" Hizalama Stilleri
   ================================== */
   
/* 1. Hem "Search" hem "HTML" elementlerinin içini flex yap (yan yana hizalama için) */
.site-header-item[data-section="kadence_customizer_header_search"] > .component-wrap > .widget-content-wrap,
.site-header-item[data-section="kadence_customizer_header_html"] > .component-wrap {
    display: flex !important;
    flex-wrap: wrap; /* Mobilde alt alta düşebilsin */
    align-items: center;
    gap: 12px; /* Elemanlar arası boşluk */
}

/* 2. Bu elementlerin içindeki her şeyi (arama formu, bizim sepet, kullanıcının diğer HTML'i) hizala */
.site-header-item[data-section="kadence_customizer_header_search"] .search-form,
.site-header-item[data-section="kadence_customizer_header_search"] .bbe-mini-cart-wrapper,
.site-header-item[data-section="kadence_customizer_header_html"] .bbe-mini-cart-wrapper,
.site-header-item[data-section="kadence_customizer_header_html"] > .component-wrap > * {
    flex: 0 1 auto; /* Küçül, büyüme, otomatik genişlik */
}

/* ==================================
   YENİ [bbe_kampanya_bari] Stilleri (v3.9)
   ================================== */
.bbe-progress-bar-wrapper {
    width: 100%;
    margin: 20px 0;
    font-family: inherit; /* Temanızın fontunu kullansın */
    color: #0e6a3a; /* Resimdeki yeşil renk (veya #28a745) */
}
.bbe-progress-bar-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 1.2em;
}
.bbe-progress-bar-bg {
    width: 100%;
    height: 15px;
    background-color: #eee;
    border-radius: 15px;
    overflow: hidden;
}
.bbe-progress-bar-fg {
    height: 100%;
    background-color: #0e6a3a; /* Yeşil renk */
    border-radius: 15px;
    transition: width 0.5s ease-in-out;
}
.bbe-progress-bar-donors {
    margin-top: 8px;
    font-size: 1em;
    font-weight: bold;
}

/* ==== YENİ (v3.9.1): Hedef Miktar Stili ==== */
.bbe-progress-bar-info .bbe-progress-target {
    font-size: 1.1em;
    color: #555;
    font-weight: normal;
}
.bbe-progress-bar-bg {
    width: 100%;
    height: 15px;
    background-color: #eee;
    border-radius: 15px;
    overflow: hidden;
}
.bbe-progress-bar-fg {
    height: 100%;
    background-color: #0e6a3a;
    border-radius: 15px;
    transition: width 0.5s ease-in-out;
}
.bbe-progress-bar-donors {
    margin-top: 8px;
    font-size: 1em;
    font-weight: bold;
}

/* ==== YENİ: Yükleniyor (Spinner) Animasyonu ==== */
.bbe-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: bbe-spin 1s ease-in-out infinite;
    vertical-align: middle;
    margin-right: 10px;
}

@keyframes bbe-spin {
    to { transform: rotate(360deg); }
}

/* Buton pasifken stili */
.bbe-payment-submit-btn.processing {
    opacity: 0.7;
    cursor: wait !important;
    pointer-events: none; /* Tıklamayı engelle */
}