:root {

--brand-color: #DC143C;

--top-bar-bg: #f8f9fa;

--bs-primary: #DC143C;

--bs-primary-rgb: 220, 20, 60;

}



html, body {

height: 100%;

}



body {

display: flex;

flex-direction: column;

}



main {

flex: 1 0 auto;

}



/* --- ШАПКА И НАВИГАЦИЯ --- */

.navbar-logo {

height: 40px;

width: auto;

transition: transform 0.3s ease;

}



@media (min-width: 992px) {

.navbar-logo {

height: 50px;

}

.nav-item.dropdown:hover .dropdown-menu {

display: block;

margin-top: 0;

}

}



.search-form {

width: 260px;

}



@media (max-width: 1200px) {

.search-form { width: 150px; }



.btn-call-header {

font-size: 0.75rem;

line-height: 1;

border-radius: 0.2rem;

}

}



.nav-link {

font-weight: 500;

text-transform: uppercase;

font-size: 0.85rem;

padding: 0.5rem 1rem;

color: #333 !important;

}



.nav-link.active {

color: var(--brand-color) !important;

font-weight: 700;

}



.navbar-nav .nav-link {

white-space: nowrap;

}



@media (max-width: 991px) {

.navbar-nav {

padding: 1rem 0;

}

.nav-link {

padding: 0.8rem;

border-bottom: 1px solid #f0f0f0;

font-size: 80%;

}

.dropdown-menu {

text-align: center;

background-color: #f8f9fa;

}

}





@media (max-width: 575.98px) {

.mobile-logo-center {

position: absolute;

left: 2%;

transform: translateX(-30%);

transform: translateY(-50%);

}



.navbar .container {

position: relative;

}

}



.dropdown-toggle::after {

display: inline-block;

margin-left: 0.255em;

vertical-align: 0.255em;

content: "";

border-top: 0.3em solid;

border-right: 0.3em solid transparent;

border-bottom: 0;

border-left: 0.3em solid transparent;

transition: transform 0.3s ease-in-out;

}



.dropdown-toggle.show::after {

transform: rotate(180deg);

}

.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active {
    background-color:  #DC143C; /* Ваш цвет (например, оранжевый) */        /* Цвет текста */
}

@media (min-width: 992px) {

.nav-item.dropdown:hover .dropdown-toggle::after {

transform: rotate(180deg);

}

}



/* --- КНОПКИ И ПОИСК --- */

.search-input {
    border-radius: 20px 0 0 20px !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 0.75rem
}

.search-input:focus {
    border-color: #DC143C; /* Цвет рамки (например, зеленый) */
    outline: 0;           /* Убираем стандартный контур браузера */
    /* Добавляем мягкое свечение того же цвета */
    box-shadow: 0 0 0 0.2rem rgba(220, 20, 60, 0.25);
}



.search-btn {

border-radius: 0 20px 20px 0 !important;

background: var(--brand-color);

color: white;

padding-right: 0.75rem

}



.btn-callback {

border-radius: 50px;

padding: 8px 20px;

font-weight: 600;

}



.btn-primary {

--bs-btn-bg: #DC143C;

--bs-btn-border-color: #DC143C;

--bs-btn-hover-bg: #b01030;

--bs-btn-hover-border-color: #b01030;

--bs-btn-active-bg: #8f0c26;

--bs-btn-active-border-color: #8f0c26;

--bs-btn-disabled-bg: #e88394;

--bs-btn-disabled-border-color: #e88394;

}



.btn-link {

--bs-btn-color: #DC143C;

--bs-btn-hover-color: #b01030;

--bs-btn-active-color: #8f0c26;

}



.btn-link:hover {

--bs-btn-hover-color: #b01030;

}

.btn-link:active {

--bs-btn-active-color: #8f0c26;

}



.btn-outline-primary {

--bs-btn-color: #DC143C;

--bs-btn-border-color: #DC143C;

--bs-btn-hover-bg: #DC143C;

--bs-btn-hover-border-color: #DC143C;

--bs-btn-hover-color: #fff;

--bs-btn-active-bg: #b01030;

--bs-btn-active-border-color: #b01030;

--bs-btn-active-color: #fff;

}



/* --- ПОДВАЛЬЧИК --- */

.main-footer {

background-color: #1a1d20;

color: #adb5bd;

font-size: 0.9rem;

}



.footer-title {

color: #ffffff;

font-weight: 600;

text-transform: uppercase;

margin-bottom: 1.5rem;

position: relative;

padding-bottom: 10px;

}



.footer-title::after {

content: '';

position: absolute;

left: 50%;

transform: translateX(-50%);

bottom: 0;

width: 40px;

height: 2px;

background-color: var(--brand-color);

}



@media (min-width: 768px) {

.footer-title::after {

left: 0;

transform: none;

}

}



.footer-link {

color: #adb5bd;

text-decoration: none;

transition: 0.3s;

display: inline-block;

margin-bottom: 8px;

}



.footer-link:hover {

color: var(--brand-color);

padding-left: 5px;

}



.footer-contact-item i {

color: var(--brand-color);

margin-right: 12px;

}



.social-icons a {

width: 38px;

height: 38px;

background: rgba(255,255,255,0.05);

display: inline-flex;

align-items: center;

justify-content: center;

border-radius: 50%;

color: white;

margin: 0 5px;

transition: 0.3s;

text-decoration: none;

}



.social-icons a:hover {

background: var(--brand-color);

transform: translateY(-3px);

}



.footer-bottom {

background-color: #141619;

border-top: 1px solid rgba(255,255,255,0.05);

}



.footer-logo {

filter: brightness(0) invert(1);

max-height: 45px;

}



.btn-xs {

padding: 0.15rem 0.35rem;

font-size: 0.75rem;

line-height: 1.2;

border-radius: 0.2rem;

}