/* хак - чтобы курсор всегда был на ссылке, а не на вложенных тегах */
i, svg, path, polyline, rect {
    pointer-events: none;
}

html, body {
    background-color: var(--background);
    background-image: url(../img/bg-pattern.png);
    font-family: var(--font), sans-serif;
    font-weight: 400;
    font-style: normal;
}

html, body, h1, h2, h3, h4, h5, h6, p, button,
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6,
.uk-navbar-item, .uk-navbar-nav>li>a, .uk-navbar-toggle {
    font-family: 'DIN Pro', sans-serif;
}

/*.uk-navbar-item, .uk-navbar-nav>li>a, .uk-navbar-toggle {
    font-size: 25px;
    line-height: 25px;
}*/

h1 {
    font-size: 48px;
}
h2 {
    font-size: 30px;
}

html {
    font-size: 14px;
    line-height: 1.2;
}

.uk-button {
    border-radius: 5px;
}

.uk-heading-bullet::before {
    border-left: calc(5px + .1em) solid #000;
}


.uk-icon-button {
    width: 32px;
    height: 32px;
    border-radius: 500px;
    background: #f8f8f8;
    color: #999;
    transition: .1s ease-in-out;
    transition-property: color, background-color;
}
.uk-icon-button {
    background: #eee;
    border: 1px solid #999;
    color: #999;
}

/**********************/
/*** CARD COMPONENT ***/
/**********************/
.tm-card {
    background-color: white;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    color: #000000;
    /*margin-bottom: 30px;*/
    overflow: hidden;
}
.tm-card-header .uk-button-default {
    background-color: #f4f9fe;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    /*padding: 6px 12px;*/
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    /*gap: 6px;*/
    text-transform: none;
    transition: all 0.2s;
}
.tm-card-header {
    padding: 15px 20px;
}
.tm-card-title {
    font-family: var(--font-title), sans-serif;
    font-size: 1.15rem;
    font-weight: 500;
    color: #1f2937;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 5px 0;
}
.tm-card-body {
    padding: 10px 10px 5px 10px;
}
.tm-card-body p {
    margin: 5px 0;
}
.tm-card-footer {
    /*padding: 0.3rem !important;*/
    padding: 5px 10px 5px 10px;
    border-top: 1px solid #ddd;
}

/* TABLE IN CARD */
thead tr, .tm-card thead tr {
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}
.tm-card tbody tr {
    border-bottom: 1px solid #dee2e6;
}
.tm-card th a, .tm-card th a:hover {
    color: #000;
    text-decoration: none;
}

.tm-table-bordered {
    border: 1px solid #ccc;
    border-radius: 8px;
    border-collapse: separate; /* отдельные границы */
    border-spacing: 0;         /* убираем пространство между ячейками */
    overflow: hidden;          /* чтобы скругления проявились */
    width: 100%;
}
.tm-table-bordered tr:hover {
    background-color: var(--hover);
}
.tm-table-bordered th,
.tm-table-bordered td {
    border-bottom: 1px solid #ccc;
    padding: 4px 8px;
}

.tm-table-bordered thead th:first-child {
    border-top-left-radius: 8px;
}
.tm-table-bordered thead th:last-child {
    border-top-right-radius: 8px;
}
.tm-table-bordered tbody tr:last-child td:first-child {
    border-bottom-left-radius: 8px;
}
.tm-table-bordered tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

.tm-table th,
.tm-card th {
    background-color: #f3f3f3;
    color: #000;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: 0.05em;
    padding: 10px 15px;
}
.tm-card td {
    padding: 8px 14px;
    vertical-align: middle;
    line-height: 1rem;
}
.tm-card table {
    margin-bottom: 10px !important;
}

table.tm-specifications td {
    padding: 4px 8px 0 0;
}

/* HIGHLIGHT TABLE ROW */
.tm-animation-highlight {
    animation: flash 3s ease;
}
@keyframes flash {
    0%   { background: rgba(30,145,207,0.15); }
    100% { background: transparent; }
}

/*************/
/*** FORMS ***/
/*************/
.uk-checkbox, .uk-input, .uk-radio, .uk-select, .uk-textarea {
    border: 1px solid #c3c3c3;
    border-radius: 5px;
}
.uk-checkbox.uk-form-danger,
.uk-input.uk-form-danger,
.uk-radio.uk-form-danger,
.uk-select.uk-form-danger,
.uk-textarea.uk-form-danger {
    border: 1px solid #f0506e;;
}
.uk-inline > span, .uk-switcher > .uk-inline > span {
    border-radius: 5px 0 0 5px;
    border-right: 1px solid #c3c3c3;
}

label:not(.switch) {
    font-size: 1rem;
    /*font-weight: 500;*/
    line-height: 30px;
    /*margin-bottom: 14px !important;*/
}

.uk-inline > span,
.uk-switcher > .uk-inline > span {
    background-color: rgba(204, 204, 204, 0.35);
    /*border: 2px solid transparent;*/
    border-right: 1px solid #c3c3c3;
}

.uk-form-icon:not(.uk-form-icon-flip)~.uk-input,
.uk-form-icon:not(.uk-form-icon-flip)~.uk-select,
.uk-form-icon:not(.uk-form-icon-flip)~.uk-textarea,
.uk-switcher > .uk-inline input,
.uk-switcher > .uk-inline textarea{
    padding-left: 50px !important;
}

/*.uk-inline .uk-form-icon + input {
    padding-left: 50px !important;
}*/

/**************************************/
/*** input checkbox - iPhone button ***/
/**************************************/
.switch {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 24px;
}
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}
.slider.round {
    border-radius: 44px;
}
.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 4px;
    border-radius: 44px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}
input:checked + .slider {
    background-color: var(--primary); /*#1E91CF*/
}
input:focus + .slider {
    box-shadow: 0 0 1px #1E91CF;
}
input:checked + .slider:before {
    -webkit-transform: translateX(18px);
    -ms-transform: translateX(18px);
    transform: translateX(18px);
}

/**********************************************************************************************************************/

@media (min-width: 640px) {
    html {
        font-size: 14px;
        line-height: 1.3;
    }

    /*-- MAIN MENU --*/
    .uk-navbar-item, .uk-navbar-nav > li > a, .uk-navbar-toggle {
        min-height: 60px;
    }
}

@media (min-width: 960px) {
    html {
        font-size: 14px;
        line-height: 1.4;
    }
}

@media (min-width: 1200px) {
    html {
        font-size: 15px;
        line-height: 1.4;
    }
}

@media (min-width: 1600px) {
    html {
        font-size: 16px;
        line-height: 1.4;
    }
}
