/* ============================================================================
   edalys.eu — responsive pataisos telefonams ir planšetėms.

   SVARBU: desktop (>= 992px) vaizdo šis failas NEKEIČIA — visos taisyklės
   yra tik @media užklausose mažesniems ekranams. Kraunamas po
   style.bundle.css (registruota config/settings.php -> KT_THEME_ASSETS).
   ============================================================================ */

/* ----------------------------------------------------------------------------
   Trūkstama utility klasė (galioja visur, ne tik mobiliai).
   Šablonai (pvz., dashboard dash-modern-item) naudoja min-w-0, kad flex
   elementas galėtų trauktis ir text-truncate veiktų, bet Metronic bundle
   šios klasės neturi — be jos sumos išlenda už kortelės krašto.
   ---------------------------------------------------------------------------- */
.min-w-0 {
    min-width: 0 !important;
}

/* ----------------------------------------------------------------------------
   Planšetė ir mažiau (< 992px)
   ---------------------------------------------------------------------------- */
@media (max-width: 991.98px) {

    /* Apsauginis tinklas: joks per platus elementas nebeištempia viso puslapio
       į šoną (horizontalus slinkimas lieka tik lentelių .table-responsive viduje) */
    .app-wrapper,
    .app-main {
        overflow-x: hidden;
    }

    /* Kortelės antraštė (pavadinimas + mygtukai) lūžta į kelias eilutes,
       vietoj to, kad išlįstų už ekrano */
    .card-header {
        flex-wrap: wrap;
        row-gap: 0.5rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        min-height: 0;
    }

    .card-toolbar {
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    /* Puslapio viršaus toolbar'as (antraštė + mygtukai) */
    .app-toolbar .app-container {
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    /* Modalai su fiksuotu mw-XXXpx — beveik per visą ekrano plotį */
    .modal-dialog[class*="mw-"] {
        max-width: calc(100vw - 1.5rem) !important;
    }

    /* Lentelės slenka sklandžiai liečiant */
    .table-responsive {
        -webkit-overflow-scrolling: touch;
    }

    /* Lentelės NEBEsuspaudžiamos į kelias raides per eilutę: garantuojam
       minimalų plotį — kas netelpa, slenkasi horizontaliai wrapper'io viduje */
    .table-responsive > .table {
        min-width: 640px;
    }

    .table-responsive .table thead th {
        white-space: nowrap;
    }

    /* Select2 valdikliai nesusispaudžia į kelis pikselius */
    .select2-container {
        min-width: 110px;
        max-width: 100%;
    }

    .select2-container .select2-selection__rendered {
        white-space: nowrap;
    }

    .select2-dropdown {
        max-width: calc(100vw - 2rem);
    }

    /* Dashboard sąrašų (skolos/balansai/įrašai) sumos nelūžta ir nelenda už krašto */
    .dash-modern-item {
        min-width: 0;
    }

    .dash-modern-item .text-end {
        white-space: nowrap;
    }

    /* DataTables lentelės (vartotojų sąrašas ir pan.) gauna horizontalų slinkimą */
    .dataTables_wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Ilgos tab'ų juostos slenka horizontaliai, o ne laužo išdėstymą */
    .nav-line-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .nav-line-tabs .nav-item {
        white-space: nowrap;
    }
}

/* ----------------------------------------------------------------------------
   Telefonas (< 768px)
   ---------------------------------------------------------------------------- */
@media (max-width: 767.98px) {

    /* Kortelių vidinės paraštės kompaktiškesnės (per Bootstrap CSS kintamuosius,
       kad nereikėtų kariauti su p-* utility klasėmis) */
    .card {
        --bs-card-spacer-x: 1rem;
        --bs-card-spacer-y: 1.25rem;
    }

    /* Fiksuoto pločio paieškos/filtrų laukai — per visą turimą plotį.
       Dropdown meniu (menu-sub) w-XXXpx SĄMONINGAI neliečiami — jie telpa. */
    .form-control.w-150px,
    .form-control.w-175px,
    .form-control.w-200px,
    .form-control.w-250px,
    .form-control.w-300px,
    .form-select.w-150px,
    .form-select.w-175px,
    .form-select.w-200px,
    .form-select.w-250px,
    .form-select.w-300px {
        width: 100% !important;
        max-width: 100%;
    }

    /* Formų valdikliai niekada neišlenda už tėvinio bloko */
    .form-control,
    .form-select,
    .input-group {
        max-width: 100%;
    }

    /* min-w-XXXpx ant formų valdiklių (ne lentelių langelių!) — leidžiam trauktis,
       bet paliekam protingą minimumą, kad selectai nesusispaustų iki nieko */
    .form-select[class*="min-w-"],
    .form-control[class*="min-w-"] {
        min-width: 110px !important;
    }

    /* Bendras minimumas formų valdikliams flex eilutėse — nesusispaudžia iki
       kelių pikselių; kas netelpa, nusileidžia į kitą eilutę (flex-wrap) */
    .form-select,
    .form-control {
        min-width: 110px;
    }

    /* Išimtis: lentelių viduje (kiekio ir pan. siauri laukeliai) minimumo nededam —
       ten plotį valdo pati lentelė ir table-responsive slinkimas */
    .table .form-control,
    .table .form-select {
        min-width: 0;
    }

    /* Select2 telefone — per visą turimą plotį (inline width iš JS nurašomas) */
    .select2-container {
        width: 100% !important;
    }

    /* Mygtukų/filtrų eilutės lūžta, kai netelpa */
    .d-flex.gap-2,
    .d-flex.gap-3,
    .d-flex.gap-4 {
        flex-wrap: wrap;
    }

    /* Modalai — pilnas mobilus režimas su mažomis paraštėmis */
    .modal-dialog {
        margin: 0.5rem auto;
    }

    .modal-dialog[class*="mw-"] {
        max-width: calc(100vw - 1rem) !important;
    }

    /* Puslapiavimas lūžta į kelias eilutes */
    .pagination {
        flex-wrap: wrap;
        row-gap: 0.25rem;
    }

    /* Puslapio antraštė kompaktiškesnė */
    .app-toolbar {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .page-heading,
    .app-page-title h1 {
        font-size: 1.15rem;
    }

    /* Sumažinam tuščią vietą virš turinio */
    .app-content {
        padding-top: 1rem;
    }
}

/* ----------------------------------------------------------------------------
   Maži telefonai (< 400px) — papildomas suspaudimas
   ---------------------------------------------------------------------------- */
@media (max-width: 399.98px) {

    .card {
        --bs-card-spacer-x: 0.75rem;
    }

    .btn:not(.btn-sm):not(.btn-icon) {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }
}
