/* ===== VARIABLES ===== */
:root {
    --color-green: #5cbb26;
    --color-dark-green: #307000;
    --color-black: #000;
    --color-dark-grey: #3d3d3d;
    --color-grey: #999;
    --color-light-grey: #f0f0f0;
    --color-very-light-grey: #fafafa;
    --color-yellow: #fdd922;
    --color-h: #5cbb26;
    --color-font: #333;
}

/* ===== FONTS ===== */
@font-face {
    font-family: "Roboto";
    font-display: swap;
    font-weight: 100 900;
    src: local("Roboto"),
    local("Roboto-Regular"),
    url("../fonts/roboto-variable-20261017.woff2") format("woff2");
}
@font-face {
    font-family: "Roboto";
    font-display: swap;
    font-weight: 100 900;
    src: local("Roboto"),
    local("Roboto-Regular"),
    url("../fonts/roboto-common-20261017.woff2") format("woff2");
    unicode-range: U+0,U+2,U+D,U+20-7E,U+A0-FF,U+400-486,U+488-513,U+2000-200B,U+2010-2011,U+2013-2015,U+2017-201E,U+2020-2022,U+2025-2027,U+2030,U+2032-2033,U+2039-203A,U+203C,U+2044,U+2070,U+2074-208E,U+20A3-20A4,U+20A6-20AC,U+20B1,U+20B9-20BA,U+20BC-20BD,U+2105,U+2113,U+2116,U+2122,U+2126,U+212E,U+2202,U+2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2248,U+2260,U+2264-2265,U+FEFF,U+FFFD;
}

/* BebasNeue Font Family */
@font-face {
    font-family: 'BebasNeue';
    src: url('../fonts/BebasNeue-Bold-20261017.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BebasNeue';
    src: url('../fonts/BebasNeue-Book.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BebasNeue';
    src: url('../fonts/BebasNeue-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BebasNeue';
    src: url('../fonts/BebasNeue-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BebasNeue';
    src: url('../fonts/BebasNeue-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* ===== BASE STYLES ===== */
body {
    font-family: "Roboto", sans-serif;
    color: var(--color-font);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'BebasNeue', sans-serif;
    font-weight: 700;
    color: var(--color-h);
}

h5, h6 {
    color: darkgray;
}

a {
    color: var(--color-green);
    text-decoration: underline;
}

a:link,
a:visited,
a:focus {
}

a:hover {
    color: var(--color-dark-green);
    text-decoration: underline;
}

a:active {
}

/* ===== LAYOUT ===== */
header {
    background: #000 image-set(url("../img/bg-lcp2-20261017.webp") type("image/webp"), url("../img/bg.jpg") type("image/jpeg"));
    color: var(--color-green);
}

@media (max-width: 1199px) {
    .top-title {
        font-size: 0.8rem;
        line-height: 1.2rem;
        /*display: inline-block;*/
    }
}

footer {
    background-color: var(--color-light-grey);
    font-size: 0.9rem;
}

footer .footer-middle h5 {
    color: var(--color-dark-grey);
}

footer .footer-middle {
    color: var(--color-grey);
}

footer .footer-bottom {
    background-color: var(--color-dark-grey);
    color: var(--color-grey);
}

.menu {
    background-color: var(--color-light-grey);
}

/* ===== COMPONENTS ===== */
/* Buttons */


.btn-yellow {
    background-color: var(--color-yellow);
    border-color: var(--color-yellow);
    color: var(--color-dark-grey);
}
.btn-yellow:hover {
    background-color: var(--color-green);
    color: var(--color-very-light-grey);
}

.btn-green {
    background-color: var(--color-green);
    border-color: var(--color-green);
    color: #fff;
}

/* Images */
img {
    max-width: 100%;
    height: auto;
}

.logo img {
    width: auto;
}

aside img,
.content img {
    width: 100%;
}

/* Breadcrumbs */
.breadcrumbs {
    font-size: 0.8rem;
}

/*border-color: #00000020; было так*/
/* ===== NAVIGATION ===== */
.menu .catalog-button {
    background-color: var(--color-green);;
}

.menu .catalog-button button {
    color: #fff;
}

.menu .catalog-button .button-text {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

/* Top Menu */
.menu-top a.nav-link {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-font);
    white-space: nowrap;
    text-decoration: none;
}

.menu-top a.nav-link:hover {
    color: var(--color-green);
}

/* Sidebar Menu */
.menu-sidebar a {
    text-decoration: none;
}

.menu-sidebar .list-group-item {
    border-color: rgba(0, 0, 0, 0.125);
}

.menu-sidebar .list-group-item:first-child {
    border-top: none;
}

/* Основные активные пункты меню (первого уровня) */
.list-group-item.active {
    background-color: #fff;
}

.list-group-item.active a {
    color: var(--color-green);
}

.menu-sidebar a.nav-link,
.menu-sidebar .dropdown-menu-sub a {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-font);
}

.menu-sidebar a.nav-link:hover,
.menu-sidebar .dropdown-menu-sub a:hover {
    color: var(--color-green);
}

.menu-sidebar > .list-group-item.active,
.menu-sidebar > .dropdown-submenu > .list-group-item.active {
    z-index: 2;
    color: var(--color-green);
    background-color: #fff;
    border-color: rgba(0, 0, 0, 0.125);
}

.menu-sidebar > .list-group-item.active a,
.menu-sidebar > .dropdown-submenu > .list-group-item.active a {
    color: var(--color-green);
}

/* Активные элементы в подменю */
.menu-sidebar .dropdown-menu-sub .list-group-item.active {
    color: var(--color-green);
    background-color: transparent;
    border-color: transparent;
}

.menu-sidebar .dropdown-menu-sub .list-group-item.active .sidebar-sublink {
    color: var(--color-green);
}

/* Стили для ссылок в подменю */
.menu-sidebar .dropdown-menu-sub .sidebar-sublink.active {
    color: var(--color-green);
    background-color: transparent;
}

/* Dropdown Submenu */
.menu-sidebar .dropdown-menu-sub {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: .1rem;
    display: none;
    min-width: 300px;
    z-index: 1000;
}

.menu-sidebar .dropdown-submenu:hover > .dropdown-menu-sub {
    display: block;
}

/* Стили для оффканвас меню */
.offcanvas-sidebar {
    width: 280px;
}

/* Иконка гамбургера для мобильных */
.catalog-button .hamburger-icon {
    display: none;
}

/* Стили для аккордеон меню */
.accordion-menu .accordion-item {
    border: none;
    border-bottom: 1px solid #dee2e6;
    background: none;
}

.accordion-menu .accordion-button {
    background: none;
    border: none;
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #000;
    box-shadow: none;
    text-transform: uppercase;
}

/*.accordion-menu .accordion-button,
.accordion-header a {
    background: none;
    border: none;
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #000;
    box-shadow: none;
    text-transform: uppercase;
}*/

.accordion-header a:hover {
}

.accordion-menu .accordion-button:not(.collapsed) {
    background: none;
    color: #000;
}

.accordion-menu .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(0deg);
    transition: transform 0.2s ease;
}

.accordion-menu .accordion-button:not(.collapsed)::after {
    transform: rotate(90deg);
}

.accordion-menu .accordion-header a {
    font-weight: 500;
}

.accordion-menu .accordion-body {
    padding: 0.5rem 1rem;
}

.accordion-menu .accordion-body a,
.accordion-menu .accordion-header a {
    display: block;
    padding: 0.75rem 1rem;
    text-decoration: none;
    color: #000;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.accordion-menu .accordion-body a:hover {
    color: var(--color-green);
}

@media (max-width: 991px) {
    .menu .catalog-button .hamburger-icon {
        display: inline-block;
    }

    .menu .catalog-button .button-text {
        display: none;
    }
}

/* ===== SWIPER SLIDER ===== */
.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
}

.swiper-slide a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-button-next,
.swiper-button-prev {
    opacity: 0;
    transition: opacity 0.3s ease;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
}

.swiper-button-next {
    padding: 20px;
    margin-right: -10px;
}

.swiper-button-prev {
    padding: 20px;
    margin-left: -10px;
}

.swiper:hover .swiper-button-next,
.swiper:hover .swiper-button-prev {
    opacity: 1;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 20px;
}


/* Списки */
ul.list-check {
    margin: 10px 0;
}

ul.list-check, ul.list-check li {
    padding: 0;
    list-style: none;
}

ul.list-check li {
    margin: 10px 10px 10px 25px;
}

ul.list-check li:before {
    content: '\F26E';
    font-family: 'bootstrap-icons';
    margin: -1px 10px 0 -25px;
    color: #5cbb26;
}

ul.list-arrows {
    margin: 10px 0;
}

ul.list-arrows, ul.list-arrows li {
    padding: 0;
    list-style: none;
}

ul.list-arrows li {
    margin: 10px 10px 10px 25px;
}

ul.list-arrows li:before {
    content: '\F285';
    font-family: 'bootstrap-icons';
    margin: 0px 8px 0px -28px;
    color: #5cbb26;
}

/*TODO возможно дублирование*/
.content ul {
    margin: 10px 0;
}

.content ul, .content ul li {
    padding: 0;
    list-style: none;
}

.content ul li {
    margin: 10px 10px 10px 25px;
}

.content ul li:before {
    content: '\F633';
    font-family: 'bootstrap-icons';
    margin: 0px 11px 0px -28px;
    color: #5cbb26;
}

ul.list-social {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

ul.list-social li {
    display: block;
    float: left;
    margin-right: 10px;
}

ul.list-social li a {
    font-size: 2rem;
    width: 40px;
    line-height: 1;
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 0;
}


/* ===== ADVANTAGES BLOCK ===== */
.block-advantages .list-group-item {
    background-color: var(--color-very-light-grey);
    border-color: rgba(0, 0, 0, 0.125);
}

.block-advantages .list-group-item.active {
    background-color: var(--color-green);
    border-color: var(--color-green);
    font-size: 0.9rem;
    font-weight: 500;
    color: #fff;
}

.block-advantages .icon-advantage {
    width: 40px;
    height: 40px;
    background-color: var(--color-green);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.block-advantages .text-advantage div {
    font-size: 0.9rem;
    font-weight: 500;
}

.block-advantages .text-advantage span {
    font-size: 0.9rem;
    color: var(--color-grey);
}

/* ===== CONTENT STYLES ===== */
.content .card-body a {
    text-decoration: none;
}

.content .card-body a:hover {
    color: var(--color-font);
    text-decoration: none;
}

.content-img {
    border: 1px solid rgba(0, 0, 0, .2);
    padding: 5px;
}

.content-img:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1) !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1199px) {
    .menu-top a.nav-link {
        font-size: 0.7rem;
    }

    .menu-sidebar a.nav-link,
    .menu-sidebar .dropdown-menu-sub a {
        font-size: 0.7rem;
    }

    .menu-sidebar .dropdown-menu-sub {
        min-width: 250px;
    }
}

@media (max-width: 768px) {
    .block-advantages .icon-advantage {
        width: 32px;
        height: 32px;
    }

    .block-advantages .text-advantage div,
    .block-advantages .text-advantage span {
        font-size: 0.8rem;
    }

    .menu-sidebar .dropdown-menu-sub {
        position: static;
        margin-left: 0;
        min-width: auto;
    }
}

/* ===== UTILITY CLASSES ===== */
.text-green {
    color: var(--color-green);
}

.bg-light-grey {
    background-color: var(--color-light-grey);
}

.bg-very-light-grey {
    background-color: var(--color-very-light-grey);
}

/*.hover-scale {
    transition: transform 0.3s ease;
}
.hover-scale:hover {
    transform: scale(1.02);
}*/

.bg-hover-scale {
    transition: transform 0.3s ease;
}

.bg-hover-scale::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    z-index: 1;
    transition: transform 0.3s ease;
}

.bg-hover-scale:hover::before {
    transform: scale(1.1);
}

.bg-hover-scale > * {
    position: relative;
    z-index: 2;
}

.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.category-card:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1) !important;
}
/* ----- Aluminium ----- */

.content table {
    margin: 10px 0 20px 0;
    width: 100%;
    border: 1px solid #b7b6b6;
    border-collapse: inherit;
    background: #fff;
}

.content table thead tr th {
    margin: 0;
    padding: .45em .9em .45em .7em;
    border-bottom: 1px solid #b7b6b6;
    color: #fff;
    text-align: left;
    font-weight: 100;
    /* 	font-size: 1.25em; */
    background: #aaa;
}

.content table thead tr th:first-child {
    border-left: none;
}

.content table thead tr th {
    border-left: 1px solid #b7b6b6;
}

.content table tbody td {
    margin: 0;
    padding: .45em .9em;
    border-top: 1px solid #dedcdc;
    border-left: 1px solid #dedcdc;
    color: #787878;
}

.content table tbody td img {
    width: auto;
}

.content table tbody tr td:first-child {
    border-left: none;
}

.content table tbody tr:first-child td {
    border-top: none;
}

.content table tbody tr.odd td {
    background-color: #f7f7f7;
}

/* Сброс стилей фокуса Bootstrap 5 для всех полей форм */
input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ced4da !important; /* стандартный цвет границы Bootstrap */
}

/* TODO почему то не подтянулись родные */
.nav-link {
    padding: .5rem 1rem;
}

/* Accordeon */
.accordion {
    --bs-accordion-bg: var(--color-very-light-grey);
}

.accordion-item {
    color: var(--bs-accordion-color);
    background-color: #fff;
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-button {
    color: #666;
}

.accordion-button:focus {
    outline: none !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    background-color: #ecf6e5;
    color: #307000;
}

/* ===== PRINT STYLES ===== */
@media print {
    footer,
    #contact,
    .menu,
    .swiper,
    .btn {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }
}