/*
    BusinessUI — Duralux tema ezmeleri
    Tema dosyalarına (themes/business) dokunmadan uygulamaya özel düzeltmeler.
    BusinessLayout içinde theme.min.css'ten sonra yüklenir.
*/

/* SweetAlert2 arka planı: Bootstrap modal backdrop ile aynı renk (açık tema).
   theme.min.css → .modal-backdrop { background-color: #022142 } + bootstrap opacity 0.5
   Koyu tema (html.app-skin-dark) için tema kendi kuralını uygular. */
html:not(.app-skin-dark) .swal2-container.swal2-backdrop-show {
    background: rgba(2, 33, 66, .5);
}

/* SweetAlert2 input: temanın form-control görünümü (confirmWithCode onay kodu alanı).
   sweetalert2.min.css → .swal2-input kendi yükseklik/gölge/genişlik değerlerini verir, burada ezilir. */
.swal2-popup .swal2-input.form-control {
    max-width: 10rem;
    height: auto;
    margin: 1rem auto 0;
    padding: .65rem 1rem;
    font-size: 1rem;
    letter-spacing: .5em;
    box-shadow: none;
}

/* Kart grid'i: büyük ekranda 4'lü. Bootstrap col-xxl-3 1400px'te başlar (notebook'ta erken),
   bu sınıf 4'lü düzeni 1800px'ten itibaren uygular (sidebar 280px düşünce kart ~390px kalır). Kullanım: col-12 col-md-6 col-xl-4 col-wide-3 */
@media (min-width: 1800px) {
    .col-wide-3 {
        flex: 0 0 auto;
        width: 25%;
    }
}

/* Temanın wd-/ht- yardımcı sınıflarında 125 yok; aynı kalıpta (width + min + max) eklendi.
   .avatar-image max-width/max-height:40px verdiği için sadece width yetmez. */
.wd-125 {
    width: 125px;
    max-width: 125px;
    min-width: 125px;
}

.ht-125 {
    height: 125px;
    max-height: 125px;
    min-height: 125px;
}

/* Menü kartı QR indirme kutusu (MenuListPage): yükseklik QR kadar, en kart kadar.
   Hover'da kenarlık ve indirme ikonu tema ana rengine döner; indirme sürerken disabled. */
.qr-download-tile {
    display: flex;
    align-items: center;
    gap: .875rem;
    width: 100%;
    padding: .5rem .875rem .5rem .5rem;
    border: 1px dashed #dcdee4;
    border-radius: .5rem;
    background: transparent;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
}

.qr-download-tile:hover:not(:disabled) {
    border-color: var(--bs-success);
    border-style: solid;
    background-color: rgba(var(--bs-success-rgb), .04);
}

.qr-download-tile:disabled {
    cursor: progress;
    opacity: .75;
}

.qr-download-code {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    padding: 4px;
    border-radius: .375rem;
    background: #fff;
    border: 1px solid #e5e7eb;
}

.qr-download-icon {
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #64748b;
    background-color: rgba(100, 116, 139, .1);
    transition: color .2s ease, background-color .2s ease;
}

.qr-download-tile:hover:not(:disabled) .qr-download-icon {
    color: #fff;
    background-color: var(--bs-success);
}

html.app-skin-dark .qr-download-tile {
    border-color: #1b2436;
}

/* Menü tasarımı (MenuDesignPage): ürün satırı sürüklenebilir, resim üzerinde değiştir ikonu,
   boş kategoriye ürün bırakılabilmesi için dropzone'a minimum yükseklik. */
.menu-design-product {
    cursor: move;
    background-color: #fff;
    transition: background-color .2s ease, border-color .2s ease;
}

html.app-skin-dark .menu-design-product {
    background-color: transparent;
}

/* Kategori kartı başlığından da tutulup taşınır */
.menu-design-category > .card-header {
    cursor: move;
}

/* Sürükle-bırak durumları (Plk.Blazor.DragDrop sınıfları):
   plk-dd-in-transit = tutulan/taşınan öğe → soft yeşil
   plk-dd-dragged-over-denied = bırakılamayacak yer → soft kırmızı */
.plk-dd-in-transit > .menu-design-product,
.plk-dd-in-transit > .menu-design-category {
    background-color: rgba(var(--bs-success-rgb), .08) !important;
    border-color: rgba(var(--bs-success-rgb), .6) !important;
}

.plk-dd-dragged-over-denied > .menu-design-product,
.plk-dd-dragged-over-denied > .menu-design-category {
    background-color: rgba(var(--bs-danger-rgb), .08) !important;
    border-color: rgba(var(--bs-danger-rgb), .6) !important;
}

.plk-dd-in-transit > .menu-design-category,
.plk-dd-dragged-over-denied > .menu-design-category {
    border-style: dashed;
}

.menu-design-min-w-0 {
    min-width: 0;
}

.menu-design-product-image {
    position: relative;
}

.menu-design-image-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: rgba(0, 0, 0, .45);
    opacity: 0;
    transition: opacity .2s ease;
}

.menu-design-product-image:hover .menu-design-image-overlay {
    opacity: 1;
}

.menu-design-dropzone {
    min-height: 48px;
}

.menu-design-dropzone > div:last-child .menu-design-product {
    margin-bottom: 0 !important;
}

/* Sıra numarası yuvarlakları tıklanmaz: tema avatar-text'e pointer verir, burada taşıma imleci kalır */
.menu-design-product .avatar-text,
.menu-design-category > .card-header .avatar-text {
    cursor: inherit;
}

/* ProductImageModal — görsel seçme alanı (önceki: inline style, #f8f9ff zemin + border-primary dashed) */
.product-image-upload-zone,
.image-upload-zone {
    min-height: 250px;
    cursor: pointer;
    border: 2px dashed rgba(var(--bs-primary-rgb), .5);
    background: rgba(var(--bs-primary-rgb), .03);
    transition: background-color .15s ease, border-color .15s ease;
}
.product-image-upload-zone:hover,
.image-upload-zone:hover {
    border-color: rgb(var(--bs-primary-rgb));
    background: rgba(var(--bs-primary-rgb), .06);
}


/* Tüm modallar: gövde tema sayfa arka planıyla (theme.min.css body: #f3f4f6, dark: #121a2d) */
.modal-body {
    background-color: #f3f4f6;
}
html.app-skin-dark .modal-body {
    background-color: #121a2d;
}

/* Kesik (dashed) kenarlıklar 2px — tema varsayılanı 1px.
   .border-dashed tek başına sadece stil verir; kalınlık .border ile birlikteyken uygulanır
   (tek kenarlı öğelerde diğer kenarlar görünmesin diye). */
.border.border-dashed { border-width: 2px !important; }
.border-top-dashed { border-top-width: 2px !important; }
.border-bottom-dashed { border-bottom-width: 2px !important; }
.border-start-dashed { border-left-width: 2px !important; }
.border-end-dashed { border-right-width: 2px !important; }
hr.border-dashed { border-top-width: 2px; }
.card-input-element + .card,
.card-input-element:checked + .card,
.card-input-element:checked + .card .avatar-text,
.alert.alert-soft-success-message,
.alert.alert-soft-warning-message,
.alert.alert-soft-danger-message,
.alert.alert-soft-teal-message,
.custom-file-upload,
ul#checklist li,
.nxl-header .header-wrapper .nxl-header-language .nxl-language-dropdown .language_select a,
#languageSelectModal .language_select a,
.qr-download-tile {
    border-width: 2px;
}
.nxl-header .header-wrapper .nxl-notifications-menu .notifications-item + .notifications-item {
    border-top-width: 2px;
}
.activity-feed .feed-item,
.activity-feed-1 .feed-item,
.activity-feed-2 .feed-item {
    border-left-width: 2px;
}



/* Dil menüsü mobilde de görünür (layout'larda d-none d-sm-flex kaldırıldı). Duralux paneli 425px ve
   açıldığı ikona göre hizalı; dar ekranda header genişliğine yayılır, ekran dışına taşmaz. */
@media (max-width: 575.98px) {
    .nxl-header .header-wrapper .nxl-header-language {
        position: static;
    }

    .nxl-header .header-wrapper .nxl-header-language .nxl-language-dropdown.dropdown-menu-end {
        width: auto;
        left: 10px !important;
        right: 10px !important;
    }
}


/* Açık / koyu tema logoları (sol menü logo ve ikon). Duralux dark modda logoyu invert filtresiyle beyazlatıyordu;
   artık koyu tema için ayrı dosya (logo-dark.svg / icon-dark.svg) gösterilir, filtre uygulanmaz. */
html:not(.app-skin-dark) .theme-logo-dark,
html.app-skin-dark .theme-logo-light {
    display: none !important;
}

html.app-skin-dark .nxl-navigation .m-header .theme-logo-dark {
    filter: none;
}

/* Telefon formu (SweetAlert + intl-tel-input, themes/custom/js/phone-input.js):
   ülke listesi popup dışına taşabilsin, içerik kesmesin */
.swal2-popup.phone-swal,
.swal2-popup.phone-swal .swal2-content {
    overflow: visible;
}

/* Butonlar (.swal2-actions, z-index: 1) açık ülke listesinin üstünde kalıyordu; içerik bir üst katmanda */
.swal2-popup.phone-swal .swal2-content {
    position: relative;
    z-index: 2;
}

/* Menü ayarları > tema renk seçici: temanın input padding'i (12px 15px) 48px'lik kutudan 30px yiyip rengi ince
   bir çizgiye çeviriyordu. Seçilen renk input yüksekliğinde kare olarak görünür. */
.form-control-color.color-swatch-square {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    padding: 4px !important;
}
.form-control-color.color-swatch-square::-webkit-color-swatch-wrapper {
    padding: 0;
}
.form-control-color.color-swatch-square::-webkit-color-swatch {
    height: 100%;
    border: 0;
    border-radius: 4px;
}
.form-control-color.color-swatch-square::-moz-color-swatch {
    height: 100%;
    border: 0;
    border-radius: 4px;
}

/* Koyu mod: lacivert VISA logosu koyu zeminde okunmuyor; beyaza çevrilir (diğer kart logoları renkli zeminli) */
html.app-skin-dark img[src*="images/VISA.svg"] {
    filter: brightness(0) invert(1);
}
