/* ==========================================================================
   Mağaza: şablon (assets/css/style.min.css) üzerine eklenen küçük stiller
   ========================================================================== */

/* Logo görseli yoksa mağaza adı */
.store-text-logo { font-family: 'Bebas Neue', var(--font-primary, sans-serif); font-size: 34px; letter-spacing: 1px; color: var(--color-heading, #111); line-height: 1; }
.rbt-logo-height-sm .store-text-logo { font-size: 28px; }

/* Görsel olmayan kart / kategori yer tutucuları */
.store-img-placeholder, .store-cat-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; background: #f1f3f7; color: #b3b9c6; font-size: 42px; }
.store-cat-placeholder { background: transparent; aspect-ratio: 4 / 3; }
.store-soldout-text { color: #d62828; font-weight: 600; font-size: 14px; margin: 6px 0 0; }

/* Kart butonları: favori / karşılaştırma aktif */
.rbt-wishlisted-btn.is-favorite i, [data-favorite-toggle].is-favorite i { color: #e63946; }
.rbt-compare-btn.is-compared { background: var(--color-primary, #1e5bd8) !important; color: #fff !important; }
.rbt-btn.is-loading, button.is-loading { opacity: .6; pointer-events: none; }

/* Mega menü görsel kartı */
.store-menu-card { position: relative; display: block; border-radius: 16px; overflow: hidden; background: #f3f5f9; }
.store-menu-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; }
.store-menu-card .rbt-btn { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); }

/* Yan menü kampanya görseli */
.store-sidenav-banner img { width: 100%; border-radius: 16px; }

/* Yan sepet */
.store-minicart-attrs { display: block; font-size: 13px; color: #6b7280; margin-bottom: 2px; }
.store-empty-icon { font-size: 48px; color: #c5cad4; }
.store-qty { display: inline-flex; align-items: center; }
.store-qty .store-qty-btn { border: 0; background: transparent; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.store-qty input { width: 42px; text-align: center; border: 0; background: transparent; -moz-appearance: textfield; }
.store-qty input::-webkit-outer-spin-button, .store-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Bildirim (toast) */
.store-toast { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 99999; max-width: min(92vw, 460px); padding: 14px 20px; border-radius: 12px; background: #111827; color: #fff; font-size: 15px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.store-toast-error { background: #b42318; }
.store-added-icon { font-size: 48px; color: #2a9d4b; }

/* Hızlı bakış yükleniyor / seçenekler */
.store-unavailable { opacity: .45; text-decoration: line-through; }
.rbt-switcher--color.store-unavailable { text-decoration: none; }
.store-option-btn.active { background: var(--color-primary, #1e5bd8) !important; border-color: var(--color-primary, #1e5bd8) !important; color: #fff !important; }
.store-option-group .rbt-switcher-color-list { list-style: none; padding: 0; margin: 0; }
.store-option-group .rbt-switcher--color { display: inline-flex; padding: 3px; border-radius: 50%; border: 2px solid transparent; }
.store-option-group li.active .rbt-switcher--color, .store-option-group .rbt-switcher--color.active { border-color: var(--color-primary, #1e5bd8); }
.store-option-group .rbt-color-circle { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }

/* Lookbook noktaları konumu (şablon JS'i yerine store.js ayarlar) */
.rbt-lookbook-portion { position: absolute; }

/* Mobil menüdeki çıkış butonu */
.store-link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }

/* Uyarılar (TempData) */
.store-alert { border-radius: 12px; padding: 14px 18px; font-size: 15px; display: flex; gap: 10px; align-items: flex-start; }
.store-alert-success { background: #ecfdf3; color: #067647; border: 1px solid #abefc6; }
.store-alert-error { background: #fef3f2; color: #b42318; border: 1px solid #fecdca; }
.store-alert-info { background: #eff8ff; color: #175cd3; border: 1px solid #b2ddff; }
.store-alert .btn-close { margin-left: auto; }

/* Form doğrulama */
.field-validation-error, .text-danger { color: #d62828; font-size: 13px; }
.validation-summary-valid { display: none; }
.input-validation-error { border-color: #d62828 !important; }

/* Katalog filtreleri */
.store-filter-list { list-style: none; padding: 0; margin: 0; max-height: 260px; overflow: auto; }
.store-filter-list li { margin-bottom: 8px; }
.store-filter-list label { display: flex; gap: 8px; align-items: center; cursor: pointer; font-size: 15px; }
.store-filter-list .count { margin-left: auto; color: #9aa1ad; font-size: 13px; }
.store-color-dot { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); display: inline-block; flex-shrink: 0; }
.store-active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.store-active-filters a { display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 30px; background: #eef2ff; color: #1e3a8a; font-size: 14px; }

/* Ürün sayfası */
.store-gallery-main { position: relative; border-radius: 16px; overflow: hidden; background: #f5f6f8; }
.store-gallery-main img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.store-gallery-thumbs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.store-gallery-thumbs button { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; border: 2px solid transparent; padding: 0; background: #f5f6f8; }
.store-gallery-thumbs button.active { border-color: var(--color-primary, #1e5bd8); }
.store-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.store-rich-text img { max-width: 100%; height: auto; border-radius: 8px; }
.store-rich-text ul, .store-rich-text ol { padding-left: 1.4em; }
.store-rating-input i { font-size: 24px; color: #f5a623; cursor: pointer; }
.store-rating-bar { height: 8px; border-radius: 8px; background: #eef0f4; overflow: hidden; flex: 1; }
.store-rating-bar span { display: block; height: 100%; background: #f5a623; }

/* Karşılaştırma tablosu */
.store-compare-table { width: 100%; border-collapse: collapse; }
.store-compare-table th, .store-compare-table td { border: 1px solid #eceef2; padding: 14px; vertical-align: top; }
.store-compare-table th { width: 180px; background: #f8f9fb; font-weight: 600; }
.store-compare-table img { width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: contain; }

/* Hesabım menüsü */
.store-account-nav a { display: flex; gap: 10px; align-items: center; padding: 12px 16px; border-radius: 10px; color: inherit; }
.store-account-nav a.active, .store-account-nav a:hover { background: #eef2ff; color: var(--color-primary, #1e5bd8); }
.store-status { display: inline-block; padding: 4px 12px; border-radius: 30px; font-size: 13px; font-weight: 600; }
.store-status-warning { background: #fffaeb; color: #b54708; }
.store-status-primary { background: #eff4ff; color: #1d4ed8; }
.store-status-info { background: #f0f9ff; color: #026aa2; }
.store-status-success { background: #ecfdf3; color: #067647; }
.store-status-secondary { background: #f2f4f7; color: #475467; }
.store-status-danger { background: #fef3f2; color: #b42318; }

/* Sipariş özeti kutusu */
.store-summary-box { border-radius: 16px; background: #f8f9fb; padding: 24px; }
.store-summary-row { display: flex; justify-content: space-between; margin-bottom: 10px; }
.store-summary-row.total { font-size: 20px; font-weight: 700; border-top: 1px solid #e4e7ec; padding-top: 12px; margin-top: 12px; }

@media (max-width: 1199px) {
    main { padding-bottom: 70px; } /* mobil alt araç çubuğu */
}

/* ==========================================================================
   Hesap / ödeme sayfaları: Bootstrap bileşenlerinin şablon renkleriyle uyumu
   ========================================================================== */
.store-page { padding-top: 24px; padding-bottom: 80px; }
.btn { border-radius: 500px; font-weight: 600; padding: 10px 22px; }
.btn-sm { padding: 6px 14px; }
.btn-lg { padding: 14px 28px; }
.btn-primary { --bs-btn-bg: var(--color-primary); --bs-btn-border-color: var(--color-primary); --bs-btn-hover-bg: var(--color-heading, #111); --bs-btn-hover-border-color: var(--color-heading, #111); --bs-btn-disabled-bg: var(--color-primary); --bs-btn-disabled-border-color: var(--color-primary); --bs-btn-active-bg: var(--color-heading, #111); }
.btn-outline-primary { --bs-btn-color: var(--color-primary); --bs-btn-border-color: var(--color-primary); --bs-btn-hover-bg: var(--color-primary); --bs-btn-hover-border-color: var(--color-primary); }
.btn-link { color: var(--color-primary); }
.form-control, .form-select { border-radius: 10px; padding: 10px 14px; font-size: 15px; border-color: #dfe3ea; }
.form-control:focus, .form-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(33, 90, 218, .12); }
.form-label { font-weight: 600; font-size: 14px; }
.card-surface { background: #fff; border: 1px solid #eceef2; border-radius: 16px; }
.summary-card { position: sticky; top: 100px; }
.secure-note { font-size: 13px; color: #6b7280; }
.checkout-step { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 14px; margin-right: 10px; }
.address-option { display: block; border: 1px solid #dfe3ea; border-radius: 12px; padding: 14px 16px 14px 44px; position: relative; cursor: pointer; height: 100%; }
.address-option input { position: absolute; left: 16px; top: 18px; }
.address-option:has(input:checked) { border-color: var(--color-primary); background: #f3f6fe; }
.status-pill { display: inline-flex; align-items: center; padding: 5px 14px; border-radius: 30px; font-weight: 600; font-size: 13px; }
.account-nav a { display: flex; gap: 10px; align-items: center; padding: 10px 16px; border-radius: 10px; color: inherit; }
.account-nav a.active, .account-nav a:hover { background: #eef2ff; color: var(--color-primary); }
.step { flex: 1; text-align: center; position: relative; font-size: 13px; color: #9aa1ad; }
.step .dot { width: 30px; height: 30px; border-radius: 50%; margin: 0 auto 8px; background: #eceef2; display: flex; align-items: center; justify-content: center; color: #fff; }
.step.done { color: var(--color-heading, #111); }
.step.done .dot { background: var(--color-primary); }
.product-description img { max-width: 100%; height: auto; }
.breadcrumb { font-size: 14px; }
.order-track { display: flex; gap: 8px; }

/* --- Kampanya rozetleri (ürün sayfası) --- */
.store-campaign-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 100px; background: #fff4e5; color: #b45309; font-size: 13px; font-weight: 600; line-height: 1.6; }

/* --- Beden tablosu --- */
.store-size-chart-link { display: inline-flex; align-items: center; gap: 6px; margin-left: 12px; font-size: 13px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.store-size-table th, .store-size-table td { white-space: nowrap; font-size: 14px; padding: 8px 12px; }

/* --- Taksit tablosu (ürün sayfası) --- */
.store-installment-card { border: 1px solid rgba(0,0,0,.08); border-radius: 8px; overflow: hidden; height: 100%; }
.store-installment-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 10px 14px; background: #f6f7f9; font-weight: 700; }
.store-installment-card__head small { font-weight: 400; color: #6b7280; font-size: 12px; text-align: right; }
.store-installment-card table { font-size: 13px; }
.store-installment-card th, .store-installment-card td { padding: 6px 14px; }
.store-installment-card th { font-weight: 600; color: #6b7280; }

/* --- Taksit seçimi (ödeme) --- */
.store-installment-options { display: grid; gap: 8px; }
.store-installment-option { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; cursor: pointer; margin: 0; }
.store-installment-option:has(input:checked) { border-color: currentColor; box-shadow: 0 0 0 1px currentColor; }
.store-installment-option input { margin: 0; flex: none; }
.store-installment-option__label { font-weight: 600; }
.store-installment-option__price { margin-left: auto; font-size: 14px; color: #4b5563; text-align: right; }
@media (max-width: 575px) { .store-installment-option { flex-wrap: wrap; } .store-installment-option__price { width: 100%; margin-left: 26px; text-align: left; } }
.store-campaign-badge--sm { font-size: 12px; padding: 2px 10px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* --- Çerez onayı --- */
.store-cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1060; display: flex; justify-content: center; pointer-events: none; }
.store-cookie-banner[hidden] { display: none; }
.store-cookie-banner__inner { pointer-events: auto; width: 100%; max-width: 1100px; display: flex; align-items: center; gap: 24px; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.18); border: 1px solid rgba(0,0,0,.06); }
.store-cookie-banner__title { font-weight: 700; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; }
.store-cookie-banner__text { flex: 1 1 auto; min-width: 0; }
.store-cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 8px; flex: none; }
.store-cookie-banner__actions .rbt-btn { white-space: nowrap; }
.store-cookie-option { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.store-cookie-option:last-child { border-bottom: 0; }
.store-cookie-option .form-check-input { width: 2.5em; height: 1.3em; cursor: pointer; }
@media (max-width: 991px) {
    .store-cookie-banner { left: 8px; right: 8px; bottom: 72px; } /* mobil alt menünün üstünde */
    .store-cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
    .store-cookie-banner__actions { justify-content: stretch; }
    .store-cookie-banner__actions .rbt-btn { flex: 1 1 auto; justify-content: center; }
}
