:root {
    --brand: #d6336c;
    --brand-dark: #b02a5b;
    --brand-soft: #fce4ec;
}

html { font-size: 15px; }
@media (min-width: 768px) { html { font-size: 16px; } }

body { background: #fafafa; }
a { color: var(--brand); }
a:hover { color: var(--brand-dark); }

.text-brand { color: var(--brand) !important; }
.bg-brand { background: var(--brand) !important; color: #fff; }
.btn-brand { background: var(--brand); border-color: var(--brand); color: #fff; }
.btn-brand:hover, .btn-brand:focus { background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }
.btn-outline-brand { border-color: var(--brand); color: var(--brand); }
.btn-outline-brand:hover { background: var(--brand); color: #fff; }

.site-header .category-bar .nav-link { color: #444; padding: .5rem .75rem; }
.site-header .category-bar .nav-link:hover { color: var(--brand); }

.hero { background: linear-gradient(135deg, var(--brand), #7b2ff7); color: #fff; }

.category-tile { transition: transform .15s ease, box-shadow .15s ease; }
.category-tile:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08) !important; }

.product-card .card-body h3 a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.store-logo { width: 64px; height: 64px; }
.store-hero .store-logo { width: 80px; height: 80px; }
.store-cover { max-height: 240px; }
.cart-thumb { width: 56px; height: 56px; }
.min-w-0 { min-width: 0; }

.map-picker { height: 360px; border-radius: .5rem; border: 1px solid #dee2e6; }

.order-steps li { position: relative; color: #adb5bd; }
.order-steps li .dot { display: block; width: 14px; height: 14px; border-radius: 50%; background: #dee2e6; margin: 0 auto .25rem; }
.order-steps li.done { color: #198754; }
.order-steps li.done .dot { background: #198754; }

/* Paneller */
.panel-sidebar { min-height: calc(100vh - 56px); background: #1f2330; }
.panel-sidebar .nav-link { color: #c4c8d4; border-radius: .375rem; }
.panel-sidebar .nav-link:hover, .panel-sidebar .nav-link.active { color: #fff; background: rgba(255,255,255,.08); }
.stat-card .value { font-size: 1.75rem; font-weight: 700; }

.validation-summary-valid { display: none !important; }

/* Ürün formu: varyant modu kapalıyken renk/beden sütunları ve ek satırlar gizlenir */
#productForm:not(.variants-on) .variant-only { display: none !important; }
/* Seçenekler kapalıyken yalnızca silinmemiş ilk satır görünür (sunucu da silinmemiş ilk satırı alır) */
#productForm:not(.variants-on) #variantRows > tr.variant-removed-note { display: none; }
#productForm:not(.variants-on) #variantRows > tr.variant-row:not(.d-none) ~ tr.variant-row { display: none; }

/* ---------- Yasal metinler ---------- */
.legal-text { line-height: 1.65; }
.legal-text h2 { font-size: 1.2rem; margin-top: 2rem; margin-bottom: .75rem; scroll-margin-top: 90px; }
.legal-text h3 { font-size: 1.02rem; margin-top: 1.25rem; scroll-margin-top: 90px; }
.legal-text table { font-size: .9rem; }
.legal-text table td, .legal-text table th { vertical-align: top; }
.legal-text .legal-box { background: #f8f9fa; border-left: 4px solid #d6336c; padding: .9rem 1rem; border-radius: .25rem; }
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040; background: #fff; border-top: 1px solid #dee2e6; box-shadow: 0 -4px 16px rgba(0,0,0,.08); }

/* ---------- Arama kutusu ve öneriler ---------- */
.site-search { width: 100%; }
@media (min-width: 992px) { .site-search { width: auto; flex: 1 1 auto; max-width: 560px; } }
.search-suggest { max-height: 70vh; overflow-y: auto; top: 100%; left: 0; }
.search-suggest .dropdown-item.active, .search-suggest .dropdown-item:active { background: var(--brand-soft); color: inherit; }

/* ---------- Favori (kalp) düğmesi ---------- */
.fav-btn { position: absolute; top: .5rem; right: .5rem; z-index: 3; width: 2.25rem; height: 2.25rem; border-radius: 50%;
           border: 0; background: rgba(255,255,255,.92); color: #6c757d; display: flex; align-items: center; justify-content: center;
           box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.fav-btn:hover, .fav-btn:focus-visible { color: var(--brand); }
.fav-btn-sm { width: 1.9rem; height: 1.9rem; font-size: .9rem; }
.fav-toggle.is-fav, .fav-toggle.is-fav:hover { color: var(--brand); }
.btn.fav-toggle.is-fav { background: var(--brand-soft); }

/* ---------- Filtre paneli ---------- */
.pf-brands { max-height: 220px; overflow-y: auto; }

/* ---------- Ana sayfa vitrin ---------- */
.home-carousel { background: var(--brand-soft); }
.home-carousel-img { aspect-ratio: 16 / 5; object-fit: cover; }
@media (max-width: 767.98px) { .home-carousel-img { aspect-ratio: 4 / 3; } }
.home-carousel .carousel-caption { left: 5%; right: 5%; bottom: 1.25rem; text-shadow: 0 1px 6px rgba(0,0,0,.55); }
.home-carousel-title { font-size: 1.35rem; font-weight: 700; }
.home-carousel-subtitle { font-size: 1rem; }
@media (min-width: 768px) { .home-carousel-title { font-size: 2rem; } .home-carousel-subtitle { font-size: 1.15rem; } }
.home-carousel-pause { position: absolute; right: .75rem; bottom: .75rem; z-index: 3; }
.store-card .card-body { padding-right: 2.75rem; }

/* =====================================================================
   Belirgin seçim kutuları ve form alanları (tüm site ve paneller)
   Onay kutusu, seçenek düğmesi (radio), anahtar (switch), açılır liste,
   metin kutusu ve dosya seçici kolayca fark edilsin; seçili hâl net görünsün.
   ===================================================================== */
.form-check-input {
    width: 1.25em;
    height: 1.25em;
    margin-top: .1em;
    border: 2px solid #6c757d;
    background-color: #fff;
    cursor: pointer;
    flex-shrink: 0;
}
.form-check-input:hover:not(:disabled) { border-color: var(--brand); box-shadow: 0 0 0 .2rem var(--brand-soft); }
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }
.form-check-input:indeterminate { background-color: var(--brand); border-color: var(--brand); }
.form-check-input:focus { border-color: var(--brand); box-shadow: 0 0 0 .25rem rgba(214, 51, 108, .3); }
.form-check-input:disabled { cursor: not-allowed; opacity: .55; }
.form-check-input.is-invalid, .was-validated .form-check-input:invalid { border-color: #dc3545; }
.form-check { padding-left: 1.9em; min-height: 1.6rem; }
.form-check .form-check-input { margin-left: -1.9em; }
.form-check-inline { margin-right: 1.25rem; }
.form-check-label { cursor: pointer; }
.form-check-input:checked + .form-check-label { font-weight: 600; }
/* Anahtar (switch): daha geniş, kapalıyken de çerçevesi görünür */
.form-switch { padding-left: 3em; }
.form-switch .form-check-input {
    width: 2.6em;
    height: 1.4em;
    margin-left: -3em;
    border-radius: 2em;
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%236c757d'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:focus { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23d6336c'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
/* Tablo içindeki tekil kutular (ör. "Aktif" sütunu) */
td > .form-check-input, th > .form-check-input { margin: 0; vertical-align: middle; }
/* Bootstrap "btn-check" ile yapılmış seçim düğmeleri: seçili olan dolu */
.btn-check:checked + .btn { box-shadow: 0 0 0 .2rem var(--brand-soft); font-weight: 600; }

/* ---------------------------------------------------------------------
   Metin kutuları, açılır listeler, çok satırlı alanlar, dosya seçici
   Profesyonel ve belirgin: net çerçeve, yeterli yükseklik, yumuşak köşe,
   odakta marka rengi halka, salt okunur / devre dışı / hatalı hâller ayrı.
   --------------------------------------------------------------------- */
.form-control, .form-select {
    border: 1.5px solid #b6bdc5;
    border-radius: .55rem;
    background-color: #fff;
    color: #212529;
    min-height: calc(1.5em + 1rem + 3px);
    padding: .5rem .8rem;
    box-shadow: inset 0 1px 2px rgba(16, 24, 40, .05);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, background-color .15s ease-in-out;
}
.form-select { padding-right: 2.4rem; cursor: pointer; background-position: right .8rem center; }
.form-control-sm, .form-select-sm { min-height: calc(1.5em + .5rem + 3px); padding: .3rem .6rem; border-radius: .45rem; font-size: .875rem; }
.form-select-sm { padding-right: 2rem; background-position: right .6rem center; }
.form-control-lg, .form-select-lg { min-height: calc(1.5em + 1.3rem + 3px); border-radius: .65rem; }
textarea.form-control { min-height: 6rem; line-height: 1.5; resize: vertical; }
textarea.form-control-sm { min-height: 4rem; }
.form-control::placeholder { color: #8a939c; opacity: 1; }
.form-control:hover:not(:disabled):not([readonly]), .form-select:hover:not(:disabled) { border-color: #7d8791; }
.form-control:focus, .form-select:focus {
    border-color: var(--brand);
    background-color: #fff;
    box-shadow: 0 0 0 .25rem rgba(214, 51, 108, .18), inset 0 1px 2px rgba(16, 24, 40, .05);
    outline: 0;
}
.form-control:disabled, .form-select:disabled { background-color: #eef0f3; color: #6c757d; border-color: #d3d8dd; cursor: not-allowed; box-shadow: none; }
.form-control[readonly] { background-color: #f6f7f9; border-style: dashed; }
.form-control-plaintext { border: 0; box-shadow: none; }
/* Hatalı / geçerli alanlar */
.form-control.is-invalid, .form-select.is-invalid, .input-validation-error,
.was-validated .form-control:invalid, .was-validated .form-select:invalid { border-color: #dc3545; background-color: #fff8f8; }
.form-control.is-invalid:focus, .form-select.is-invalid:focus, .input-validation-error:focus { box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .2); }
.form-control.is-valid, .form-select.is-valid { border-color: #198754; }
.field-validation-error, .invalid-feedback, .text-danger.small { font-size: .85rem; font-weight: 500; }
.field-validation-error { display: block; margin-top: .3rem; }
.validation-summary-errors ul { margin-bottom: 0; padding-left: 1.1rem; }
/* Etiketler ve yardım metinleri */
.form-label { font-weight: 600; color: #343a40; margin-bottom: .35rem; }
.form-label.small, .form-label .small { font-weight: 600; }
.form-label .text-muted, .form-label span.text-muted { font-weight: 400; }
.form-text { color: #6c757d; font-size: .82rem; margin-top: .3rem; }
/* Zorunlu alan işareti: etiketin hemen arkasından zorunlu bir alan geliyorsa */
.form-label:has(+ .form-control[required])::after,
.form-label:has(+ .form-select[required])::after,
.form-label:has(+ textarea[required])::after { content: " *"; color: #dc3545; font-weight: 700; }
/* Dosya seçici */
.form-control[type="file"] { cursor: pointer; padding-top: .35rem; padding-bottom: .35rem; }
.form-control::file-selector-button {
    background-color: var(--brand-soft); color: var(--brand-dark); font-weight: 600; cursor: pointer;
    border: 0; border-right: 1.5px solid #b6bdc5; padding: .5rem .9rem; margin: -.35rem .8rem -.35rem -.8rem;
}
.form-control-sm::file-selector-button { padding: .3rem .7rem; margin: -.35rem .6rem -.35rem -.6rem; }
.form-control:hover:not(:disabled)::file-selector-button { background-color: #f8bbd0; }
/* Renk seçici, sayı alanları */
.form-control-color { min-height: calc(1.5em + 1rem + 3px); padding: .3rem; width: 3.5rem; }
input[type="number"].form-control { font-variant-numeric: tabular-nums; }
/* Giriş grupları (ör. "TL" ekli alanlar, arama kutusu + düğme) */
.input-group-text { border: 1.5px solid #b6bdc5; background-color: #f1f3f5; color: #495057; font-weight: 500; border-radius: .55rem; }
.input-group > .btn { border-width: 1.5px; }
.input-group:focus-within .input-group-text { border-color: var(--brand); }
.input-group-sm > .input-group-text { border-radius: .45rem; }
.input-group-sm > .form-control, .input-group-sm > .form-select { min-height: calc(1.5em + .5rem + 3px); padding: .3rem .6rem; font-size: .875rem; }
.input-group-lg > .form-control, .input-group-lg > .form-select { min-height: calc(1.5em + 1.3rem + 3px); }
fieldset:disabled .form-control, fieldset:disabled .form-select { background-color: #eef0f3; }

/* Klavye ile gezinmede her tıklanabilir öğe net bir çerçeve alır */
a:focus-visible, button:focus-visible, .btn:focus-visible, [role="button"]:focus-visible, summary:focus-visible {
    outline: 3px solid var(--brand);
    outline-offset: 2px;
}

/* =====================================================================
   Sayfa düzeni: beyaz yığınını kır — açık gri zemin, çerçeveli kartlar,
   kart başlıkları ayrı bant, kenar menüde belirgin seçili öğe.
   ===================================================================== */
:root { --page-bg: #eef1f6; --card-border: #dfe3ea; --card-head-bg: #f6f7fa; }
body { background: #f3f5f9; }
.panel-page, .panel-main { background: var(--page-bg); }
.panel-main { min-height: calc(100vh - 56px); }

/* Kartlar: ince çerçeve + hafif gölge ("border-0" kullanılan kartlar dahil) */
.card { border-radius: .8rem; }
.card, .card.border-0 { border: 1px solid var(--card-border) !important; }
.card.shadow-sm, .card { box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 2px 6px rgba(16, 24, 40, .04) !important; }
.card.border-success, .card.border-danger, .card.border-warning, .card.border-primary, .card.border-info { border-width: 1px !important; }
.card.border-success { border-color: #a3cfbb !important; } .card.border-danger { border-color: #f1aeb5 !important; }
.card.border-warning { border-color: #ffe69c !important; } .card.border-info { border-color: #9eeaf9 !important; }

/* Kart başlık bandı: card-header ve kartın ilk başlığı (h2/h3) */
.card-header, .card-header.bg-white {
    background: var(--card-head-bg) !important;
    border-bottom: 1px solid var(--card-border);
    font-weight: 600;
    color: #2b3036;
    padding: .8rem 1rem;
}
.card-header:first-child { border-radius: calc(.8rem - 1px) calc(.8rem - 1px) 0 0; }
.card > .card-body:first-child > h2:first-child,
.card > .card-body:first-child > h3:first-child {
    margin: -1rem -1rem 1rem;
    padding: .8rem 1rem;
    background: var(--card-head-bg);
    border-bottom: 1px solid var(--card-border);
    border-radius: calc(.8rem - 1px) calc(.8rem - 1px) 0 0;
    font-size: 1rem;
    font-weight: 700;
    color: #2b3036;
}
/* card-body'de ek dolgu (p-3, p-4) varsa bant da ona göre */
.card > .card-body.p-3:first-child > h2:first-child, .card > .card-body.p-3:first-child > h3:first-child { margin: -1rem -1rem 1rem; }
.card > .card-body.p-4:first-child > h2:first-child, .card > .card-body.p-4:first-child > h3:first-child { margin: -1.5rem -1.5rem 1.25rem; padding: .9rem 1.5rem; }
.card > .card-body.p-0:first-child > h2:first-child, .card > .card-body.p-0:first-child > h3:first-child { margin: 0; }
.card-footer { background: var(--card-head-bg); border-top: 1px solid var(--card-border); }

/* Kart içi tablolar: başlık satırı açık gri */
.card .table > thead > tr > th, .card .table > thead > tr > td { background: var(--card-head-bg); color: #495057; font-weight: 600; }
.card .table { margin-bottom: 0; }
.card > .table > :not(caption) > tr > :first-child, .card > .table-responsive > .table > :not(caption) > tr > :first-child { padding-left: 1rem; }
.card > .table > :not(caption) > tr > :last-child, .card > .table-responsive > .table > :not(caption) > tr > :last-child { padding-right: 1rem; }
.card > .table:last-child > tbody > tr:last-child > *, .card > .table-responsive:last-child > .table > tbody > tr:last-child > * { border-bottom: 0; }
.table > :not(caption) > * > * { border-bottom-color: #e9ecf1; }
.table-hover > tbody > tr:hover > * { background-color: #f8f9fc; }

/* Sayfa başlığı ve açıklaması */
.panel-main > h1:first-of-type, .panel-main > .d-flex:first-of-type h1 { font-weight: 700; letter-spacing: -.01em; }
.panel-main > h1 + p.text-muted, .panel-main > h1 + .text-muted { margin-bottom: 1.25rem; }

/* Boş durum / bilgi kutuları kartın içinde soluk değil, okunur */
.card-body > .text-muted:only-child { color: #5c636a !important; }

/* Kenar menü: seçili öğe marka renginde şerit */
.panel-sidebar .nav-link { padding: .55rem .75rem; transition: background-color .15s, color .15s; }
.panel-sidebar .nav-link.active { background: rgba(214, 51, 108, .18); color: #fff; box-shadow: inset 3px 0 0 var(--brand); font-weight: 600; }

/* Birincil düğme rengi marka rengiyle aynı (mavi/pembe karışıklığı olmasın) */
.btn-primary {
    --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark);
    --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand);
    --bs-btn-focus-shadow-rgb: 214, 51, 108;
}
.btn-outline-primary {
    --bs-btn-color: var(--brand); --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-focus-shadow-rgb: 214, 51, 108;
}
.btn { font-weight: 500; border-radius: .55rem; }
.btn-sm { border-radius: .45rem; }

/* =====================================================================
   CANLI PEMBE TEMA — griler marka pembesine çevrildi (site + tüm paneller)
   Okunabilirlik korunur: metin koyu, zeminler açık pembe, vurgular canlı.
   ===================================================================== */
:root {
    --brand-50: #fff5f8;
    --brand-100: #fde7ef;
    --brand-150: #fbd9e5;
    --brand-200: #f7c3d5;
    --brand-300: #ee9ab8;
    --brand-ink: #8a1f47;          /* pembe zemin üstünde başlık/metin */
    --page-bg: #fff2f6;
    --card-border: #f5c6d6;
    --card-head-bg: linear-gradient(90deg, #fde3ec 0%, #fff1f6 100%);
}

/* Zeminler */
body { background: var(--brand-50); }
.panel-page, .panel-main {
    background: radial-gradient(1200px 500px at 100% 0%, #fde0ea 0%, rgba(253, 224, 234, 0) 60%),
                linear-gradient(180deg, #fff4f8 0%, #fde9f0 100%);
    background-attachment: fixed;
}

/* Kartlar: pembe çerçeve, pembe tonlu gölge, üstte ince renkli şerit */
.card, .card.border-0 { border-color: var(--card-border) !important; }
.card.shadow-sm, .card { box-shadow: 0 1px 2px rgba(138, 31, 71, .06), 0 6px 18px rgba(214, 51, 108, .08) !important; }
.panel-main .card:not(.stat-card):not(.product-card):not(.store-card) { border-top: 3px solid var(--brand) !important; }
.card:hover { box-shadow: 0 2px 4px rgba(138, 31, 71, .07), 0 10px 24px rgba(214, 51, 108, .12) !important; }

/* Kart başlık bantları ve tablo başlıkları pembe */
.card-header, .card-header.bg-white,
.card > .card-body:first-child > h2:first-child,
.card > .card-body:first-child > h3:first-child {
    background: var(--card-head-bg) !important;
    color: var(--brand-ink);
    border-bottom-color: var(--card-border);
}
.card > .card-body:first-child > h2:first-child::before,
.card > .card-body:first-child > h3:first-child::before,
.card-header::before {
    content: ""; display: inline-block; width: .55rem; height: .55rem; border-radius: 50%;
    background: var(--brand); margin-right: .5rem; vertical-align: .1em;
}
.card-header.d-flex::before { display: none; }
.card-footer { background: var(--brand-50); border-top-color: var(--card-border); }
.card .table > thead > tr > th, .card .table > thead > tr > td, .table > thead.table-light > tr > th { background: var(--brand-100) !important; color: var(--brand-ink); }
.table > :not(caption) > * > * { border-bottom-color: #f8d9e4; }
.table-hover > tbody > tr:hover > * { background-color: var(--brand-50); }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: #fff7fa; }

/* Sayfa başlıkları */
.panel-main > h1:first-of-type, .panel-main > .d-flex:first-of-type h1, main h1.h3, main h1.h4 { color: var(--brand-ink); }
.panel-main > h1:first-of-type::after { content: ""; display: block; width: 3rem; height: 4px; margin-top: .4rem; border-radius: 4px; background: linear-gradient(90deg, var(--brand), #ff7aa8); }

/* Panel üst çubuğu: canlı pembe degrade */
.panel-page > .navbar.bg-dark {
    background: linear-gradient(90deg, #b0225a 0%, var(--brand) 55%, #ff5c93 100%) !important;
    box-shadow: 0 2px 10px rgba(176, 34, 90, .35);
}
.panel-page > .navbar .btn-outline-light:hover { color: var(--brand-dark); }
/* Kenar menü: koyu petrol (pembenin tamamlayıcı rengi), seçili öğe parlak pembe */
.panel-sidebar { background: linear-gradient(180deg, var(--accent-dark) 0%, var(--accent) 100%); }
.panel-sidebar .nav-link { color: #dff3f3; }
.panel-sidebar .nav-link:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.panel-sidebar .nav-link.active { background: linear-gradient(90deg, var(--brand) 0%, #e8578a 100%); color: #fff; box-shadow: 0 4px 12px rgba(214, 51, 108, .45); }
.panel-sidebar .nav-link i { color: #ff9cbf; }
.panel-sidebar .nav-link.active i, .panel-sidebar .nav-link:hover i { color: #fff; }

/* Form alanları: gri çerçeveler pembe tona */
.form-control, .form-select, .input-group-text { border-color: #e7a9bf; }
.form-control:hover:not(:disabled):not([readonly]), .form-select:hover:not(:disabled) { border-color: var(--brand); }
.input-group-text { background-color: var(--brand-100); color: var(--brand-ink); }
.form-control:disabled, .form-select:disabled, fieldset:disabled .form-control, fieldset:disabled .form-select { background-color: #fbeef3; border-color: #f1cbd9; }
.form-control[readonly] { background-color: #fff7fa; }
.form-check-input { border-color: #c45a82; }
.form-switch .form-check-input { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23c45a82'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
.form-label { color: var(--brand-ink); }
.form-text { color: #9a5a73; }

/* Düğmeler: marka düğmesi degrade ve parlak */
.btn-brand, .btn-primary {
    background-image: linear-gradient(90deg, var(--brand) 0%, #ec5a8f 100%);
    border: 0;
    box-shadow: 0 4px 12px rgba(214, 51, 108, .3);
}
.btn-brand:hover, .btn-primary:hover { background-image: linear-gradient(90deg, var(--brand-dark) 0%, var(--brand) 100%); box-shadow: 0 6px 16px rgba(214, 51, 108, .4); }
.btn-outline-secondary { --bs-btn-color: var(--brand-ink); --bs-btn-border-color: #e7a9bf; --bs-btn-hover-bg: var(--brand-100); --bs-btn-hover-color: var(--brand-ink); --bs-btn-hover-border-color: var(--brand); --bs-btn-active-bg: var(--brand-150); --bs-btn-active-color: var(--brand-ink); }
.btn-light { --bs-btn-bg: var(--brand-100); --bs-btn-border-color: var(--brand-150); --bs-btn-color: var(--brand-ink); --bs-btn-hover-bg: var(--brand-150); --bs-btn-hover-border-color: var(--brand-200); }

/* Rozetler ve uyarılar pembe uyumlu */
.badge.bg-secondary, .badge.text-bg-secondary { background-color: #c45a82 !important; }
.bg-light { background-color: var(--brand-50) !important; }
.alert-info { --bs-alert-bg: #fdeef4; --bs-alert-border-color: var(--brand-200); --bs-alert-color: var(--brand-ink); }
.list-group-item { border-color: #f8d9e4; }
.list-group-item.active { background: var(--brand); border-color: var(--brand); }
.nav-pills .nav-link.active { background: var(--brand); }
.nav-tabs .nav-link.active { color: var(--brand-ink); border-color: var(--card-border) var(--card-border) #fff; border-top: 3px solid var(--brand); }
.pagination { --bs-pagination-active-bg: var(--brand); --bs-pagination-active-border-color: var(--brand); --bs-pagination-color: var(--brand); --bs-pagination-hover-color: var(--brand-dark); }
.progress-bar { background-color: var(--brand); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--brand); }

/* Müşteri sitesi: üst çubuk pembe şerit, kategori çubuğu pembe zemin, alt bilgi pembe degrade */
.site-header { border-top: 4px solid var(--brand); box-shadow: 0 2px 12px rgba(214, 51, 108, .12); border-bottom-color: var(--card-border) !important; }
.site-header .category-bar { background: linear-gradient(90deg, #fde3ec 0%, #fff1f6 100%); }
.site-header .category-bar .nav-link { color: var(--brand-ink); font-weight: 500; }
.site-footer { background: linear-gradient(180deg, #fde7ef 0%, #fbd3e1 100%) !important; border-top: 4px solid var(--brand) !important; }
.site-footer a { color: var(--brand-ink); }
.product-card, .store-card { transition: transform .15s ease, box-shadow .15s ease; }
.product-card:hover, .store-card:hover { transform: translateY(-3px); }

/* =====================================================================
   İKİNCİ RENK: KOYU PETROL / TURKUAZ — pembenin renk çemberindeki karşıtı.
   Pembe = ana vurgu (ana düğmeler, seçili öğeler); petrol = yapı ve ikincil
   öğeler (menü, alt bilgi, başlık metinleri, ikincil düğmeler, bilgi kutuları).
   ===================================================================== */
:root {
    --accent: #12606b;
    --accent-dark: #0b4049;
    --accent-ink: #0b4a54;
    --accent-soft: #e2f4f3;
    --accent-200: #a9dcd8;
}
/* Sayfa başlıkları petrol, altında pembe çizgi (iki rengin buluşması) */
.panel-main > h1:first-of-type, .panel-main > .d-flex:first-of-type h1, main h1.h3, main h1.h4 { color: var(--accent-ink); }
/* Kart başlık metni petrol, önündeki nokta pembe */
.card-header, .card-header.bg-white,
.card > .card-body:first-child > h2:first-child,
.card > .card-body:first-child > h3:first-child { color: var(--accent-ink); }
.card .table > thead > tr > th, .card .table > thead > tr > td, .table > thead.table-light > tr > th { color: var(--accent-ink); }
/* Kenar menü ikonları açık turkuaz, seçili/üzerine gelince beyaz */
.panel-sidebar .nav-link i { color: #7fd8cf; }
.panel-sidebar .nav-link:hover { background: rgba(255, 255, 255, .12); }
/* İkincil düğmeler petrol */
.btn-outline-secondary {
    --bs-btn-color: var(--accent-ink); --bs-btn-border-color: var(--accent-200);
    --bs-btn-hover-bg: var(--accent); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: var(--accent);
    --bs-btn-active-bg: var(--accent-dark); --bs-btn-active-color: #fff; --bs-btn-active-border-color: var(--accent-dark);
}
.btn-secondary {
    --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent);
    --bs-btn-hover-bg: var(--accent-dark); --bs-btn-hover-border-color: var(--accent-dark);
    --bs-btn-active-bg: var(--accent-dark); --bs-btn-active-border-color: var(--accent-dark);
}
.badge.bg-secondary, .badge.text-bg-secondary { background-color: var(--accent) !important; }
.alert-info { --bs-alert-bg: var(--accent-soft); --bs-alert-border-color: var(--accent-200); --bs-alert-color: var(--accent-ink); }
.nav-tabs .nav-link.active { color: var(--accent-ink); }
/* Müşteri sitesi: alt bilgi koyu petrol, üstte pembe şerit; konum düğmesi petrol */
.site-footer { background: linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%) !important; color: #dff3f3; border-top: 4px solid var(--brand) !important; }
.site-footer, .site-footer .text-muted, .site-footer p, .site-footer li { color: #cfeceb !important; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer .fw-bold, .site-footer strong { color: #fff !important; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: #ffb3cd; }
.site-header .location-btn { --bs-btn-color: var(--accent-ink); --bs-btn-border-color: var(--accent-200); }

/* Panel üst çubuğu sağ taraf (Siteyi gör, kullanıcı, Çıkış): koyu petrol kapsüller */
.panel-page > .navbar > .d-flex > a,
.panel-page > .navbar > .d-flex .btn-outline-light {
    background: var(--accent-dark);
    color: #fff !important;
    border: 1px solid var(--accent-dark);
    border-radius: 2rem;
    padding: .3rem .8rem;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(11, 64, 73, .35);
    transition: background-color .15s, transform .15s;
}
.panel-page > .navbar > .d-flex > a:hover,
.panel-page > .navbar > .d-flex .btn-outline-light:hover,
.panel-page > .navbar > .d-flex .btn-outline-light:focus { background: var(--accent); border-color: var(--accent); color: #fff !important; transform: translateY(-1px); }
.panel-page > .navbar > .d-flex > a.text-white-50 { opacity: 1; }

/* =====================================================================
   CANLI YAZILAR — soluk gri metinler yerine renkli ve net tonlar
   ===================================================================== */
body { color: #1c2230; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Soluk gri açıklama yazıları: sıcak mürdüm-gri (pembe zeminle uyumlu, daha okunaklı) */
.text-muted, .text-body-secondary { color: #6e4a5d !important; }
.text-secondary { color: #5c4e66 !important; }
/* Başlıklar petrol, kalın */
h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6 { color: var(--accent-ink); }
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6,
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6 { color: inherit; }
h1, .h1 { color: var(--accent-ink); }
.text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6 { color: var(--accent-ink) !important; }
/* Bağlantılar: canlı pembe, biraz kalın, alt çizgi aralıklı */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.card):not(.list-group-item):not(.navbar-brand):not(.page-link) { font-weight: 500; text-underline-offset: .18em; }
/* Özet kartları: etiket petrol ve kalın, değer büyük ve marka renginde */
.stat-card .card-body > .small.text-muted:first-child { color: var(--accent-ink) !important; font-weight: 600; font-size: .9rem; letter-spacing: .01em; }
.stat-card .value { color: var(--brand); font-size: 2rem; font-weight: 800; letter-spacing: -.02em; }
.stat-card .value.text-warning { color: #e8890c !important; }
.stat-card .value.text-danger { color: #dc3545 !important; }
.stat-card .value.text-success { color: #198754 !important; }
.stat-card .card-body > .small.text-muted:not(:first-child) { color: #6e4a5d !important; }
.card.stat-card, .card.stat-card.border-0 { border-left: 4px solid var(--brand) !important; }
a.stat-card:hover .value { color: var(--brand-dark); }
/* Tablo içerikleri ve kalın vurgular */
strong, b, .fw-bold, .fw-semibold { color: inherit; }
.table { --bs-table-color: #1c2230; }
td .text-muted, td.text-muted { color: #7a5468 !important; }
/* Para tutarları ve sayılar daha belirgin (Format.Money çıktıları genelde <strong> içinde) */
.card strong { color: var(--accent-ink); }
.btn strong, .badge strong, .alert strong { color: inherit; }
/* Sepet / ürün fiyatları pembe */
.price, .product-price, .card .fw-bold.text-brand { color: var(--brand) !important; }
/* Kenar menü yazıları daha parlak */
.panel-sidebar .nav-link { color: #f1fbfb; font-weight: 500; }
/* ===== KAYDIRILABİLİR YAN MENÜLER (tüm paneller, Hesabım, yasal metinler) =====
   Üst çubuk sabit kalır; yan menü ekran yüksekliğinde durur ve uzunsa kendi kaydırma çubuğuyla kayar. */
:root { --sticky-top: 72px; }
@media (min-width: 768px) {
    .panel-page > .navbar { position: sticky; top: 0; z-index: 1030; }
    .panel-sidebar {
        position: sticky; top: var(--sticky-top); align-self: flex-start;
        height: calc(100vh - var(--sticky-top)); min-height: 0;
        overflow-y: auto; overscroll-behavior: contain;
        scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .55) rgba(0, 0, 0, .12);
    }
    .panel-sidebar::-webkit-scrollbar { width: 10px; }
    .panel-sidebar::-webkit-scrollbar-track { background: rgba(0, 0, 0, .12); }
    .panel-sidebar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .5); border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
    .panel-sidebar::-webkit-scrollbar-thumb:hover { background: #ff9cbf; background-clip: padding-box; }
    .account-nav {
        position: sticky; top: calc(var(--sticky-top) + 1rem); z-index: 1;
        max-height: calc(100vh - var(--sticky-top) - 2rem); overflow-y: auto; overscroll-behavior: contain;
    }
}
@media (min-width: 992px) {
    .legal-nav { top: calc(var(--sticky-top) + 1rem) !important; max-height: calc(100vh - var(--sticky-top) - 2rem); overflow-y: auto; overscroll-behavior: contain; }
}
.account-nav, .legal-nav { scrollbar-width: thin; scrollbar-color: var(--brand) var(--brand-soft, #fce4ec); }
.account-nav::-webkit-scrollbar, .legal-nav::-webkit-scrollbar { width: 8px; }
.account-nav::-webkit-scrollbar-thumb, .legal-nav::-webkit-scrollbar-thumb { background: var(--brand); border-radius: 8px; }
.account-nav::-webkit-scrollbar-track, .legal-nav::-webkit-scrollbar-track { background: #fce4ec; }
/* ===== VİTRİN (SLIDER): görsel üzerinde yazı katmanı + düğme; yazı yeri (sol/orta/sağ) ve rengi (açık/koyu) ===== */
.home-carousel .carousel-caption.hb-cap {
    inset: 0; padding: 0 8%; display: flex; flex-direction: column; justify-content: center;
    text-shadow: none; text-align: left;
}
.hb-box { max-width: 52%; }
.hb-left { align-items: flex-start; text-align: left !important; }
.hb-center { align-items: center; text-align: center !important; }
.hb-center .hb-box { max-width: 72%; }
.hb-right { align-items: flex-end; text-align: right !important; }
.hb-light { color: #fff; }
.hb-light .hb-box { text-shadow: 0 2px 14px rgba(0, 0, 0, .35); }
.hb-dark { color: #1c2230; }
.hb-dark .home-carousel-subtitle { color: #3b2f46; }
.home-carousel .home-carousel-title { font-size: 2.5rem; font-weight: 800; line-height: 1.12; letter-spacing: -.01em; }
.home-carousel .home-carousel-subtitle { font-size: 1.2rem; margin-top: .6rem; opacity: .96; }
.hb-btn {
    margin-top: 1.1rem; display: inline-flex; align-items: center; gap: .25rem; font-weight: 700;
    border-radius: 999px; padding: .65rem 1.5rem; text-shadow: none; border: 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18); transition: transform .15s;
}
.hb-light .hb-btn { background: #fff; color: var(--brand-dark, #b02a5b); }
.hb-dark .hb-btn { background: var(--brand); color: #fff; }
.home-carousel a:hover .hb-btn { transform: translateY(-2px); }
.home-carousel .carousel-control-prev, .home-carousel .carousel-control-next { width: 6%; z-index: 3; }
.hb-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; color: var(--brand); font-weight: 600; }
.hb-empty[hidden] { display: none; }
/* Telefon (gerçek ekran ya da formdaki telefon önizlemesi): yazılar görselin alt kısmında */
@media (max-width: 767.98px) {
    .home-carousel .carousel-caption.hb-cap { justify-content: flex-end; padding: 0 6% 2rem; }
    .home-carousel .hb-box { max-width: 100%; }
    .home-carousel .home-carousel-title { font-size: 1.15rem; }
    .home-carousel .home-carousel-subtitle { font-size: .82rem; margin-top: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .home-carousel .hb-btn { margin-top: .5rem; padding: .38rem .95rem; font-size: .82rem; }
    .home-carousel .carousel-control-prev, .home-carousel .carousel-control-next { display: none; } /* telefonda kaydırarak geçilir */
}
.home-carousel.hb-mobile { max-width: 380px; margin: 0 auto; }
.home-carousel.hb-mobile .home-carousel-img { aspect-ratio: 4 / 3; }
.home-carousel.hb-mobile .carousel-caption.hb-cap { justify-content: flex-end; padding: 0 6% 2rem; }
.home-carousel.hb-mobile .hb-box { max-width: 100%; }
.home-carousel.hb-mobile .home-carousel-title { font-size: 1.15rem !important; }
.home-carousel.hb-mobile .home-carousel-subtitle { font-size: .82rem !important; margin-top: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-carousel.hb-mobile .hb-btn { margin-top: .5rem !important; padding: .38rem .95rem !important; font-size: .82rem !important; }
@media (max-width: 359.98px) { .home-carousel .home-carousel-subtitle { display: none; } }
/* Önizleme alanı (yönetim paneli) — sayfa kayarken görünür kalır */
.hb-preview-wrap { position: sticky; top: calc(var(--sticky-top, 72px) + 1rem); }
.hb-preview-stage { background: #fff; border: 1px dashed var(--card-border, #f5c6d6); border-radius: 1rem; padding: 1rem; }
.hb-preview-stage .home-carousel-img[hidden] { display: block !important; visibility: hidden; }
@media (min-width: 768px) {
    .hb-preview-stage .home-carousel:not(.hb-mobile) .home-carousel-title { font-size: 1.6rem; }
    .hb-preview-stage .home-carousel:not(.hb-mobile) .home-carousel-subtitle { font-size: .95rem; }
    .hb-preview-stage .home-carousel:not(.hb-mobile) .hb-btn { padding: .45rem 1.1rem; font-size: .9rem; margin-top: .7rem; }
}
/* Galeri */
.hb-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; max-height: 340px; overflow-y: auto; padding: .25rem; }
.hb-gallery-item { border: 2px solid var(--card-border, #f5c6d6); border-radius: .75rem; background: #fff; padding: .3rem; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.hb-gallery-item img { width: 100%; aspect-ratio: 16 / 5; object-fit: cover; border-radius: .5rem; display: block; }
.hb-gallery-item span { display: block; font-size: .78rem; font-weight: 600; color: var(--accent-ink, #0b4a54); margin-top: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hb-gallery-item:hover { border-color: var(--brand); }
.hb-gallery-item.selected { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(214, 51, 108, .25); }
/* Sayfa içi bağlantılar (#bolum) sabit üst çubuğun altında kalmasın */
html { scroll-padding-top: calc(var(--sticky-top, 72px) + 12px); }
section[id] { scroll-margin-top: calc(var(--sticky-top, 72px) + 12px); }
/* Yönetim paneli: Kurye Yönetim Sistemi (KYS) menü grubu */
.panel-sidebar .kys-toggle { background: rgba(255, 255, 255, .08); border: 0; font-weight: 700; display: flex; align-items: center; }
.panel-sidebar .kys-badge { margin-left: .4rem; font-size: .65rem; font-weight: 800; letter-spacing: .04em; padding: .1rem .4rem; border-radius: 999px; background: var(--brand); color: #fff; }
.panel-sidebar .kys-chevron { margin-left: auto; transition: transform .2s; font-size: .8rem; }
.panel-sidebar .kys-toggle.collapsed .kys-chevron { transform: rotate(-90deg); }
.panel-sidebar .kys-sub { margin: .25rem 0 .25rem .9rem; padding-left: .5rem; border-left: 2px solid rgba(255, 255, 255, .25); }
.panel-sidebar .kys-sub .nav-link { font-size: .93rem; padding: .45rem .65rem; }

/* Yan yana form alanları: etiketler farklı satır sayısına kaydığında bile kutular aynı hizada durur.
   Sütun esnek kolona döner, etiket kalan boşluğu alır; altındaki kutu tüm sütunlarda aynı çizgiye iner. */
.row > [class*="col"]:has(> label:first-child + :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea, .form-control, .form-select, .input-group)) {
    display: flex;
    flex-direction: column;
}
.row > [class*="col"]:has(> label:first-child + :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea, .form-control, .form-select, .input-group)) > label:first-child {
    flex-grow: 1;
}
