* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
}
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    /*background: rgb(10,10,10);
    background: linear-gradient(90deg, rgba(10,10,10,1) 10%, rgba(58,58,68,1) 35%, rgba(59,59,69,1) 65%, rgba(15,15,15,1) 90%);*/
    background-attachment: scroll;
    background-size: auto;
}
.badge {
    text-align: center;
}

table.dataTable {
    width: 100% !important;
}

th.test {
    width: auto !important;
    min-width: 50px;
}

th.custom-header {
    color: white!important;
    background-color: #68031c!important;
    line-height: 1.1;
    /*border-left: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);*/
}
/*
#resultsTable th:first-child {
    border-left: none;
}*/

#resultsTable th:nth-child(1), #resultsTable td:nth-child(1) {
    width: 60px !important;
}
#resultsTable th:nth-child(2), #resultsTable td:nth-child(2) {
    width: 80px !important;
}
td:first-child, table.table-bordered.dataTable td:first-child {
    border-left-width: 0!important;
}

.dataTables_scroll {
    overflow: visible !important;
}

.dataTables_scrollHead {
    position: sticky !important;;
    top: -7px;
    z-index: 1000;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before {
    content: "\f0da"; /* fa-caret-right */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before {
    content: "\f0d7"; /* fa-caret-down */
}


/* reset všetkých šípok */
table.dataTable thead th:before, table.dataTable thead th:after {
    color: #fff !important;
    opacity: 0.3 !important;
}

/* ASC – hore */
table.dataTable thead th.sorting_asc:after {
    color: #fff !important;
    opacity: 1!important;
}

/* DESC – dole */
table.dataTable thead th.sorting_desc:before {
    color: #fff !important;
    opacity: 1!important;
}

/* schova opačnú šípku */
table.dataTable thead th.sorting_asc:before {
    opacity: 0.3 !important;
}

table.dataTable thead th.sorting_desc:after {
    opacity: 0.3 !important;
}

table.dataTable>tbody>tr.child span.dtr-title {
    display: inline!important;
    white-space: nowrap;
    padding-right: 5px;
    font-weight: bold;
}

span.dtr-title br{
    display: none;
}

/* klasický BS3*/
#searchInput, #lengthSelect, button, select, input {
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)!important;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !important;;
    height: 34px;
}

input[type="text"], input[type="search"], input[type="number"],
input[type="email"], input[type="password"], textarea, select,
.form-select {
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !important;
    transition: all .15s ease-in-out;
    height: 34px;
    appearance: none;
}

input:focus, textarea:focus, select:focus,
.form-select:focus, .page-link:focus {
    outline: none;
    border-color: #66afe9;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6) !important;
}

/* BUTTONS */
button, input[type="button"], input[type="submit"] {
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !important;
    transition: all .15s ease-in-out;
    cursor: pointer;
}

/* Hover / Active / Focus pre buttony    button:hover,*/
input[type="button"]:hover,
input[type="submit"]:hover , select{
    background-color: #e6e6e6;
    border-color: #adadad;
}

/*button:focus,*/
input[type="button"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="submit"]:active, select {
    outline: none !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !important;
    border-color: #ccc;
}

/* PAGINATION – Bootstrap 3 look */
/* Zruší medzery medzi všetkými položkami */
.dataTables_wrapper .pagination-wrapper ul.pagination {
    display: flex;
    align-items: center;
    gap: 0;
    padding-left: 0;
    margin: 0;
}

/* Zruší default margin medzi li */
.dataTables_wrapper .pagination-wrapper ul.pagination li {
    margin: 0;
}

/* Bootstrap 3 "spojené" tlačidlá */
.dataTables_wrapper .pagination-wrapper ul.pagination li a,
.dataTables_wrapper .pagination-wrapper ul.pagination li span {
    margin-left: -1px;
    border-radius: 0;
}

/* Zaoblenie len prvého a posledného */
.dataTables_wrapper .pagination-wrapper ul.pagination li:first-child a {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.dataTables_wrapper .pagination-wrapper ul.pagination li:last-child a {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* ODSADENIE "Späť" */
.dataTables_wrapper .pagination-wrapper ul.pagination li:first-child {
    margin-right: 10px;
}

/* ODSADENIE "Ďalej" */
.dataTables_wrapper .pagination-wrapper ul.pagination li:last-child {
    margin-left: 10px;
}

/* LENGTH MENU (select + text) */
#resultsTable_length label {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 14px;
}

#resultsTable_length label div:nth-child(2) {
    display: flex;
    align-items: center;
    gap: 5px;
}

.dataTables_filter label {
    font-weight: normal;
    font-size: 14px;
}

#searchInput {
    max-width: 250px;
    padding: 6px 12px;
    height: 34px;
    font-size: 14px;
    border-radius: 4px;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !important;;
}

#searchInput:focus {
    outline: none;
    border-color: #66afe9;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6) !important;;
}

#lengthSelect {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    display: inline-block;
    width: 65px;
    height: 34px;
    padding: 4px 24px 4px 8px; /* miesto pre šípku */
    font-size: 14px;

    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;

    /* BS3 štýl šípky */
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23555' height='16' viewBox='0 0 20 20' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 6px center;
    background-size: 12px;
}

#lengthSelect:focus {
    outline: none;
    border-color: #66afe9;
    box-shadow: 0 0 5px rgba(102,175,233,.6);
}
/*koniec boostrap 3*/

.accordion-button {
    /*color: #664d03;*/
    background-color: var(--bs-warning-bg-subtle);
    justify-content: flex-start !important;
    outline: none !important;
    padding-left: 1rem;
    padding-right: 1rem;
}
/* šípka / ikona vľavo + medzera */
.accordion-button .icon {
    margin-right: 0.5rem;
    display: inline-block;
}

/* otvorený stav */
.accordion-button:not(.collapsed) {
    background-color: var(--bs-warning-bg-subtle);
    color: #000;
    box-shadow: none;
}

.accordion-button:hover {
    background-color: #f5e6b6;
}

/* len interakčné stavy */
.accordion-button:focus,
.accordion-button:focus-visible {
    box-shadow: none !important;
    outline: none !important;
}
.accordion-item .btn:first-child:active{
    background-color: var(--bs-warning-bg-subtle) !important;
}

.accordion-button::after {
    filter: none;
    order: -1;
    margin-right: 0.5rem;
    margin-left: 0!important;
}

/*riadky cervene*/
table.dataTable tbody tr.row-red-even td { background-color: #f8d7da !important; }
table.dataTable tbody tr.row-red-odd td  { background-color: #fdecea !important; }

.scroll-hint {
    display: none;
    position: fixed;
    /*top: 50%;*/
    /*position: absolute;*/
    top: 75px;
    right: 30px;
    transform: translateX(-50%);
    align-items: center;
    gap: 6px;
    color: #555;
    z-index: 2000;
}

.scroll-hint .sipka {
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    color: #63051e;
    animation: moveLeftRight 1.2s infinite alternate ease-in-out, fadeOut 1s ease forwards;
    /*animation: moveLeftRight 1.2s ease-in-out 5, fadeOut 1s ease forwards;*/
    animation-delay: 0s, 6s; /* 6 sekúnd pohyb → potom fade */
}

.hand {
    position:relative;
    right:19px;
    top:17px;
    font-size: 20px;
}

.arrow {
    transform: scaleX(1.5);
}

@keyframes moveLeftRight {
    0% { transform: translateX(0px); }
    100% { transform: translateX(60px); }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        visibility: hidden;
    }
}
@media (max-width: 995px) {
    #resultsTable td {
        line-height: .9;
    }
}

@media (max-width: 768px) {

}

@media (max-width: 576px) {
    .accordion-button:hover {
        background-color: var(--bs-warning-bg-subtle);
    }
    .accordion-body ul {
        padding-left: 12px;
    }
    .accordion-body ol {
        padding-left: 25px;
    }
}