﻿.textboxicotitle { }
.textboxicotitle .validation {
    display: none; /* Skrýt výchozí prázdný validation div */
}

.textboxicotitle .validation label:empty {
    display: none; /* Skrýt label, pokud je prázdný */
}

.textboxicotitle .validation label:not(:empty) {
    display: block; /* Zobrazit label, pokud není prázdný */
    color: red; /* Přidáme barvu pro validaci */
}

.textboxicotitle .validation:has(label:not(:empty)) {
    display: block; /* Zobrazit validation div, pokud label obsahuje text */
}

.textbox {  }
.textbox .title{ font-size:0.9rem; color:var(--color06); }
.textbox .title label{ margin:0; }
.textbox .title i{ margin-left:5px; cursor:pointer; }
.textbox.hidden { display:none; }

input:read-only:not([type="checkbox"]):not([type="radio"]) { background-color:var(--color08); }
input:read-only:not([type="checkbox"]):not([type="radio"]):focus { background-color:var(--color08); box-shadow:none; }

/*switchboonull*/


.switchboolnull label,.switchbool label{ display:block; font-size:0.9rem; color:var(--color06); }
.switchboolnull-container,.switchbool-container {
    display: inline-block;
    position: relative;
    border-radius: 999px;
    transition: background-color 0.3s ease;
    cursor: pointer;
    color:white;
    box-sizing: border-box;
    user-select: none;
    border: var(--bs-border-width) solid var(--color12);
    margin:5px 0 0 0;
    /* společné proměnné */
    --pad: 2px;
    --w: 66px;
    --h: 28px;
    --c: 22px;
    width: var(--w);
    height: var(--h);
}



.switchboolnull-container .switchbool-circle,.switchbool-container .switchbool-circle {
    border: var(--bs-border-width) solid var(--color10);
    background-color: var(--color10);
    border-radius: 50%;
    position: absolute;
    top: var(--pad);
    left: var(--pad); /* základ */
    width: var(--c);
    height: var(--c);
    transition: transform 0.3s ease;
    margin:0;
}

/* posuny kolečka: vlevo / střed / vpravo */
.switchboolnull-container.false .switchbool-circle,.switchbool-container.false .switchbool-circle {
    transform: translateX(0);
}
.switchboolnull-container.null .switchbool-circle {
    transform: translateX(
        calc((var(--w) - var(--c)) / 2 - var(--pad))
    );
}
.switchboolnull-container.true .switchbool-circle,.switchbool-container.true .switchbool-circle {
    transform: translateX(
        calc(var(--w) - var(--c) - (3 * var(--pad)))
    );
}

/* barvy pozadí */
.switchboolnull-container.false,.switchbool-container.false { background-color: var(--color09); }
.switchboolnull-container.true,.switchbool-container.true  { background-color: var(--primary); }
.switchboolnull-container.null  { background-color: var(--color07); border-color:var(--bs-border-color); } 
.switchboolnull-container.null .switchbool-circle {  } 

/* text */
.switchboolnull-container .switchbool-text,.switchbool-container .switchbool-text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50%;
    font-size: 0.9rem;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.switchboolnull-container.true .switchbool-text,.switchbool-container.true .switchbool-text {
    left: 0;
    justify-content: flex-start;
    padding-left: 8px;
}

.switchboolnull-container.false .switchbool-text,.switchbool-container.false .switchbool-text {
    right: 0;
    left: auto;
    justify-content: flex-end;
    padding-right: 8px;
}

/* null = vycentrovaný text přes celou šířku */
.switchboolnull-container.null .switchbool-text {
    /*left: 0;
    width: 100%;
    justify-content: center;
    padding: 0;*/
    display:none;
}

/* disabled */
.switchboolnull-container.disabled,.switchbool-container.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}
.switchboolnull-container.disabled .switchbool-text,.switchbool-container.disabled .switchbool-text { display: none; }



.ddlist { }
.ddlist .form-label { font-size:0.9rem; color: var(--color06); display:block; margin:0; }
.fulltext .form-label { font-size:0.9rem; color: var(--color06); display:block; margin:0; }
.size-lg { width:100%; }
.size-mdlg { min-width:300px; max-width:300px; }
.size-md { min-width:250px; max-width:250px; }
.size-smmd { min-width:200px; max-width:200px; }
.size-sm { min-width:150px; max-width:150px; }
.size-mdsm { min-width:110px; max-width:110px; }
.size-exsm { min-width:80px; max-width:80px; }

.textmulti textarea{ min-height:5em; width:100%; }
.textmulti .title{ font-size:0.9rem; color:var(--color06); }
.textmulti .title i{ margin-left:5px; cursor:pointer; }

.uimultiselectint,
.uimultiselect { }
.uimultiselectint .title,
.uimultiselect .title,
.uimultilang,
.uimultilang .title,
.uiselectlocation .title,
.uidatetime .title,
.uiselectint .title,
.uifulltext .title{ font-size:0.9rem; color: var(--color06); }
.uimultiselectint .title i,
.uimultiselect .title i,
.uiselectint .title i,
.uiselectlocation .title i,
.uidatetime .title i,
.uiselectint .titile i,
.uimultilang .title i,
.uifulltext .title i{ margin-left:5px; cursor:pointer; }


.uimultiselectint .select2-container--default .select2-selection--multiple,
.uimultiselect .select2-container--default .select2-selection--multiple{ border: var(--bs-border-width) solid var(--bs-border-color); min-height:38px; border-radius: var(--bs-border-radius); }
.uimultiselectint .select2-container--default .select2-search--inline .select2-search__field,
.uimultiselect .select2-container--default .select2-search--inline .select2-search__field{ font-size:0.9rem; color:black; padding-left:6px; padding-top:2px; height:26px;
                                                                                               background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%236c757d' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");
                                                                                                      background-position:left center; background-size:auto 16px; background-repeat:no-repeat;
                                                                                                      padding-left:25px; margin-left:10px;
                                                                                                      font-family: var(--bs-body-font-family);
}
.uimultiselectint .select2-container--default .select2-selection--multiple .select2-selection__choice,
.uimultiselect .select2-container--default .select2-selection--multiple .select2-selection__choice{ background-color:var(--color05); border-color:var(--bs-border-color); }
.uimultiselectint .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.uimultiselectint .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{ border-right-color:var(--bs-border-color); }
.uimultiselect .select2-container.select2-container--default.select2-container--below.select2-container--focus.select2-container--open textarea,
.uimultiselectint .select2-container.select2-container--default .select2-selection--clearable textarea,
.uimultiselect .select2-container.select2-container--default .select2-selection--clearable textarea{ background-image:none; padding-left:0; }

body .select2-dropdown { border: var(--bs-border-width) solid var(--bs-border-color); border-radius: var(--bs-border-radius); }
.uimultiselectint textarea::placeholder,.uimultiselect textarea::placeholder { color:var(--color06); }
.uimultiselectint .select2-container--default.select2-container--focus .select2-selection--multiple,
.uimultiselect .select2-container--default.select2-container--focus .select2-selection--multiple{ 
    border: var(--bs-border-width) solid var(--bs-border-color); 
    border-radius: var(--bs-border-radius);
    background-color:var(--bs-body-bg);
    border-color:#d0e580;
    outline:0;
    box-shadow:0 0 0 0.25rem rgba(160,202,0,0.25);
}

.uiselectint { }
.uiselectint .select2-container--default .select2-selection--single,
.uiselectlocation .select2-container--default .select2-selection--single { border: var(--bs-border-width) solid var(--bs-border-color); min-height:38px; border-radius: var(--bs-border-radius); }
.uiselectint .select2-container--default .select2-selection--single .select2-selection__placeholder,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__placeholder{ color:var(--color06); font-size:0.9rem; 
                                                                                                      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%236c757d' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");
                                                                                                      background-position:left center; background-size:auto 16px; background-repeat:no-repeat;
                                                                                                      padding-left:25px;
                                                                                                      font-family: var(--bs-body-font-family);
}
.uiselectint .select2-container--default .select2-selection--single .select2-selection__rendered,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__rendered{ font-size:1rem; padding-left:12px; padding-top:2px; height:26px; color:black; }
.uiselectint .select2-container--default .select2-selection--single .select2-selection__choice,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__choice{ background-color:var(--color05); border-color:var(--bs-border-color); }
.uiselectint .select2-container--default .select2-selection--single .select2-selection__choice__remove,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__choice__remove{ border-right-color:var(--bs-border-color); }
.uiselectint .select2-container--default .select2-selection--single .select2-selection__clear,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__clear{ margin-top:4px; margin-right:35px; }
.uiselectint .select2-container--default .select2-selection--single .select2-selection__arrow,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__arrow{ top:4px; }
body .select2-dropdown { border: var(--bs-border-width) solid var(--bs-border-color); border-radius: var(--bs-border-radius); }
.uiselectint .select2-container--default.select2-container--focus .select2-selection--single,
.uiselectlocation .select2-container--default.select2-container--focus .select2-selection--single{ 
    border: var(--bs-border-width) solid var(--bs-border-color); 
    border-radius: var(--bs-border-radius);
    background-color:var(--bs-body-bg);
    border-color:#d0e580;
    outline:0;
    box-shadow:0 0 0 0.25rem rgba(160,202,0,0.25);
}
/* Přepíše ikonku šipky Select2 na styl Bootstrapu */
.uiselectint .select2-container--default .select2-selection--single .select2-selection__arrow,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__arrow{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    width: 2.5em; /* rezervace místa vpravo */
    border: none;
    top:6px;
}

/* Skryje výchozí ikonku Select2 */
.uiselectint .select2-container--default .select2-selection--single .select2-selection__arrow b,
.uiselectlocation .select2-container--default .select2-selection--single .select2-selection__arrow b{
    display: none;
}

.uimultiselectint.has-validation-error .uimultiselect,.uiselectint.has-validation-error .select2-selection.input-validation-error {
    outline: 1px solid var(--bs-danger);
}

.uimultilang { width:100%; }
.uimultilang .title label{ box-sizing:border-box; margin:0; }
.uimultilang .content .input-group select{ width:80px; }

.uimultilang .content .input-group > input.form-control {
  width: calc(100% - 80px);
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.uimultilang.textarea .input-group{ flex-wrap:wrap;  }
.uimultilang .input-group .form-select { border-right:0; }
.uimultilang.textarea .input-group .form-select{ max-width:80px; border-top-right-radius:0 !important; border-bottom:var(--bs-border-width) solid var(--bs-border-color);
                                                 border-right:0; 
                                                 max-height:38px;
}
.uimultilang.textarea .input-group textarea{ width:calc(100% - 80px); border-left:var(--bs-border-width) solid var(--bs-border-color); margin-left:0 !important; box-sizing:border-box;
                                             border-top-right-radius:var(--bs-border-radius) !important;
                                             border-bottom-right-radius:var(--bs-border-radius) !important;
                                             border-bottom-left-radius:var(--bs-border-radius) !important;
}


.uiradio { }
ul.uiradio{ padding-left:0; display:flex; flex-wrap:wrap; }
ul.uiradio li { padding-right:0.5em; }
.uiradio > li::marker {
  content: "";
}

.has-validation-error .form-control,
.has-validation-error select,
.has-validation-error textarea {
    border-color: var(--bs-danger); /* bootstrap danger */
}

.has-validation-error .title label {
    color: var(--bs-danger);
}

.uiradio.has-validation-error {
    outline: 1px solid var(--bs-danger);
    border-radius: 6px;
    padding: 6px;
}
.validation .field-validation-error { color:var(--bs-danger); font-size:0.9rem; }

.input-group .last-input{ 
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important; }

.search-autocomplete {
    position: relative;
    width: 100%;
}

.search-autocomplete .autocomplete-input-wrap {
    position: relative;
}

.search-autocomplete .autocomplete-text {
    padding-right: 2.5rem;
}

.search-autocomplete .autocomplete-text.selected {
    background-color: var(--color07);
    border-color: var(--bs-border-color);
}

.search-autocomplete .autocomplete-clear {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    padding: 0;
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-autocomplete .autocomplete-clear:hover {
    color: #212529;
}

.search-autocomplete .autocomplete-results {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 1055;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    max-height: 260px;
    overflow-y: auto;
}

.search-autocomplete .autocomplete-item {
    padding: 0.625rem 0.875rem;
    cursor: pointer;
    border-bottom: 1px solid #f1f3f5;
    line-height: 1.3;
}

.search-autocomplete .autocomplete-item:last-child {
    border-bottom: 0;
}

.search-autocomplete .autocomplete-item:hover,
.search-autocomplete .autocomplete-item.active {
    background: #f8f9fa;
}

.search-autocomplete .autocomplete-empty {
    padding: 0.625rem 0.875rem;
    color: #6c757d;
}

.uiviewlink { }
.uiviewlink .link{ }
.uiviewlink .linktarget{ margin-left:10px; color:var(--color06); }
