/* Переменные для повторяющихся значений */
:root {
    --primary-color: #e65100; /* Основной акцентный цвет */
    --secondary-color: #c42021; /* Вторичный акцентный цвет */
    --text-color: #424242; /* Основной цвет текста */
    --text-color-light: #555; /* Светлый цвет текста */
    --text-color-gray: #666; /* Серый цвет текста */
    --border-color: #dadada; /* Цвет границы */
    --border-color-light: #ccc; /* Светлый цвет границы */
    --border-color-lighter: #ececec; /* Очень светлый цвет границы */
    --shadow-color: rgba(0, 0, 0, 0.2); /* Цвет тени */
    --shadow-light: 0 0 23px 0 var(--shadow-color); /* Стандартная тень */
    --shadow-subtle: 2px 2px 3px 0px #dedede; /* Мягкая тень */
    --bg-light: #f7f7f7; /* Светлый фон */
    --bg-lighter: #f9f9f9; /* Очень светлый фон */
    --bg-white: #fff; /* Белый фон */
    --transition-opacity: opacity 0.3s ease; /* Плавный переход для opacity */
}

/* Общие стили */
a {
    text-decoration: none;
    transition: var(--transition-opacity);
}

a:hover {
    opacity: 0.8;
}

/* Кнопка "Заказать этот продукт" */
.order-this-product {
    color: var(--bg-white);
    background-color: #2ea44f;
    padding: 12px 15px 8px;
    font-size: 14px;
    text-transform: uppercase;
    margin: 0 auto 15px;
    white-space: nowrap;
    user-select: none;
    border-radius: 6px;
    appearance: none;
    width: max-content;
    display: flex;
    box-shadow: var(--shadow-subtle);
}

/* Элементы формы */
.form-elements {
    background: var(--bg-lighter);
    border: 1px solid var(--border-color-light);
    outline: 0;
}

/* Секции главной страницы */
.section-main-page {
    margin-bottom: 100px;
}

.section-main-page-title {
    margin-bottom: 40px;
    text-align: center;
    font-size: 2em;
    font-weight: 500;
}

.section-link-all {
    position: absolute;
    z-index: 2;
    bottom: 5px;
    right: 0;
}

/* Ссылка "Назад" */
.link_back {
    margin-top: 20px;
}

.link_back .fa {
    margin-right: 10px;
    width: 30px;
    height: 30px;
    line-height: 31px;
    color: var(--bg-white);
    background: var(--primary-color);
    border-radius: 18px;
    padding-right: 2px;
    text-align: center;
}

/* Описание секции */
.section-desc {
    margin-top: 30px;
}

/* Услуги (Services) */
.services-sections__col,
.services-news-list__col {
    margin-bottom: 30px;
}

.services-sections__item,
.services-news-list__item {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.services-sections__item:hover,
.services-news-list__item:hover {
    border-color: var(--bg-white);
    box-shadow: var(--shadow-light);
}

.services-sections__img,
.services-news-list__img {
    width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    border-bottom: 2px solid var(--primary-color);
}

.services-sections__img-img,
.services-news-list__img-img {
    width: 100%;
    height: auto;
}

.services-sections h2 {
    margin: 0;
    padding: 10px 0;
    color: var(--text-color);
    font-size: 1em;
    text-align: center;
}

.services-sections__title-link {
    color: var(--text-color);
}

.services-sections__text {
    padding: initial;
}

.services-sections__text-desc {
    font-size: 0.9em;
    margin-bottom: 10px;
}

.services-sections ul {
    margin: 0;
}

.services-sections ul li {
    display: inline-block;
    list-style-type: none;
    margin-right: 10px;
}

.services-sections__links-link {
    font-size: 0.9em;
}

.services-sections__links-link:hover {
    color: #008aa4;
}

.services-news-list__text {
    text-align: center;
    padding: 15px 10px;
    color: var(--text-color);
}

.services-news-list__title a {
    color: var(--text-color) !important;
}

.services-news-list__price {
    font-size: 0.9em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.services-news-list__price-price {
    display: inline;
    font-size: 1.4em;
    color: var(--primary-color);
}

.services-news-list__btn-link {
    display: inline-block;
    margin-top: 35px;
    padding: 10px 30px;
}

.services-news-list__desc-section,
.services-news-detail__desc-section,
.portfolio-projects-list__desc-section {
    margin-top: 20px;
}

.services-news-detail__slider-box {
    margin-bottom: 40px;
    border: 1px solid var(--border-color-lighter);
}

.services-news-detail__img-box,
.services-news-detail__form-box {
    min-height: 350px;
    height: 100%;
}

.services-news-detail__img-box {
    position: relative;
    width: 100%;
}

.services-news-detail__img-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.services-news-detail__img-shadow {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
}

.services-news-detail__form-box {
    padding: 20px;
    background: var(--bg-light);
}

.services-news-detail__form-title {
    color: #5c6684;
    margin-bottom: 12px;
    line-height: 1.2;
    font-size: 1.1em;
    font-weight: 400;
}

.services-news-detail__photo {
    padding: 5px;
    /* Если вы хотите, чтобы все фото-блоки были одинаковой высоты */
    /* height: 200px; */ /* Задайте фиксированную высоту */
    overflow: hidden; /* Обрезать лишнее, если изображение больше контейнера */
    /* display: flex; */ /* Если нужно центрировать изображение внутри блока */
    /* justify-content: center; */
    /* align-items: center; */
}

.services-news-detail__photo-img {
    max-width: 100%; /* Изображение не будет шире своего родителя */
    height: auto;    /* Сохранит пропорции при масштабировании ширины */
    display: block;  /* Уберет лишние отступы под изображением */
    /* Дополнительно, если хотите, чтобы изображение *всегда* полностью помещалось в рамки,
       даже если это означает пустые полосы по бокам (letterboxing) */
    object-fit: contain;
    object-position: center; /* Центрировать изображение внутри контейнера */
}

/* Портфолио (Portfolio Projects) */
.portfolio-projects-list__item {
    padding: 40px 0;
    border-bottom: 1px solid var(--border-color);
}

.portfolio-projects-list__item:first-child {
    padding-top: 20px;
}

.portfolio-projects-list__img,
.portfolio-projects-detail__img {
    width: 100%;
    height: auto;
}

.portfolio-projects-list__img-img,
.portfolio-projects-detail__img-img {
    width: 100%;
    height: auto;
}

.portfolio-projects-list__properties,
.portfolio-projects-detail__properties {
    display: flex;
    margin-bottom: 15px;
    font-size: 0.9em;
    justify-content: space-between;
    color: var(--text-color-light);
}

.portfolio-projects-list h2 {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 1.3em;
}

.portfolio-projects-list__title-link {
    color: #000;
}

.portfolio-projects-list__preview-text {
    font-size: 0.8em;
    line-height: 1.5;
    margin: 10px 0 30px;
}

.portfolio-projects-list__parameter-line,
.portfolio-projects-detail__parameter-line {
    flex: 1 0;
    border-bottom: 1px dotted #000;
    height: 1em;
    margin: 0 0.4em;
}

.portfolio-projects-list__link-more {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 20px;
}

.portfolio-projects-detail {
    margin-top: 10px;
}

.portfolio-projects-detail__row-top {
    margin-bottom: 30px;
}

.portfolio-projects-detail__img {
    max-width: 400px;
}

.portfolio-projects-detail__photo {
    padding: 5px 0;
}

.portfolio-projects-detail__photo-img {
    width: 100%;
    height: auto;
}

.portfolio-projects-detail__btn {
    margin-top: 30px;
}

.portfolio-projects-detail__btn-link {
    display: inline-block;
    padding: 20px;
}

/* Портфолио (Portfolio Sections) */
.portfolio-sections__item {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    border-radius: 4px;
}

.portfolio-sections__item:hover {
    box-shadow: var(--shadow-light);
}

.portfolio-sections__img {
    width: 100%;
    height: auto;
    line-height: 0;
    border: 1px solid var(--border-color);
}

.portfolio-sections__img-img {
    width: 100%;
    height: auto;
}

h2.portfolio-sections__title {
    position: absolute;
    left: 10px;
    bottom: 13%;
    margin: 0;
    padding: 8px 15px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 4px;
    font-size: 1.1em;
}

.portfolio-sections__title-link {
    color: var(--bg-white);
}

.portfolio-list__img {
    margin-bottom: 10px;
}

.portfolio-list__img-img {
    width: 100%;
    height: auto;
}

.portfolio-list__title {
    text-align: center;
}

.portfolio-list__desc-section {
    margin-top: 20px;
}

.portfolio-detail__photo-img {
    width: 100%;
    height: auto;
}

.portfolio-detail__desc {
    margin-top: 30px;
}

/* Прайс (Price) */
.accordion h2 {
    font-size: 1.2em;
    margin: 0;
    background: var(--secondary-color);
}

.accordion h2:hover {
    opacity: 0.9;
}

.accordion table {
    font-size: 0.9em;
    margin: 0;
}

.accordion table th {
    background: var(--bg-light);
    color: #000;
    font-size: 0.9em;
}

.accordion table td:first-child {
    width: 60%;
}

.prais_print {
    margin: 20px 0 20px 10px;
}

.prais_print a {
    padding: 5px 15px;
    background: var(--secondary-color);
    color: var(--bg-white);
    text-transform: uppercase;
    border-radius: 4px;
    cursor: pointer;
}

.prais_print .fa {
    font-size: 1.1em;
    margin: 0 10px 0 0;
}

@media print {
    #header, #sidebar, #footer, .breadcrumb, .prais_print, #bx-panel {
        display: none !important;
    }
}

/* Акции (Action) */
.action-list__item {
    width: 100%;
    max-width: 700px;
    border: 1px solid var(--border-color-light);
    border-radius: 4px;
    background: var(--bg-white);
    box-shadow: 0 15px 10px -14px #9d9cab;
    margin: 0 auto 50px;
    padding-bottom: 10px;
}

.action-list__img {
    width: 100%;
    height: auto;
}

.action-list__data-stop {
    padding: 5px 20px 10px;
    font-style: italic;
    font-size: 0.8em;
    color: var(--text-color-gray);
}

.action-list__link {
    padding: 0 20px 10px;
    font-size: 1.2em;
}

.action-list__link-link {
    color: #000;
}

.action-list__text {
    padding: 0 20px;
    font-size: 0.9em;
}

.action-detail__img {
    margin-bottom: 40px;
}

.action-detail__img-img {
    width: 100%;
    max-width: 800px;
    height: auto;
}

.action-detail__data-stop {
    margin-bottom: 20px;
    font-style: italic;
    color: var(--text-color-gray);
}

/* Новости (News) */
.news-list__item {
    padding: 40px 0;
    border-bottom: 1px solid var(--border-color);
}

.news-list__item:first-child {
    padding-top: 20px;
}

.news-list__img {
    max-width: 250px;
    width: 100%;
    height: auto;
}

.news-list__img-img {
    width: 100%;
    height: 100%;
}

.news-list__date,
.news-detail__date {
    margin-bottom: 10px;
    font-size: 0.9em;
    color: var(--text-color-light);
}

.news-list h2 {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 1.3em;
}

.news-list__title-link {
    color: #000;
}

.news-list__btn {
    margin-top: 20px;
}

.news-list__btn-more {
    display: inline-block;
    padding: 12px 20px;
}

.news-detail__img {
    margin-bottom: 40px;
    width: 100%;
    height: auto;
}

.news-detail__img-img {
    width: 100%;
    height: auto;
}

/* Контакты (Contacts) */
.contacts__box {
    display: flex;
    margin-bottom: 25px;
    line-height: 1.3;
}

.contacts__name {
    font-weight: 500;
}

.contacts .fa {
    margin-right: 15px;
    width: 30px;
    font-size: 2em;
    color: var(--primary-color);
}

.contacts__text {
    font-size: 0.9em;
}

/* Страница "Сертификаты" */
#sertifikaty {
    margin: 40px 0 0;
}

#sertifikaty .box {
    display: inline-block;
    vertical-align: top;
    width: 30%;
    margin: 0 2.9% 25px 0;
}

/* Страница "Отзывы" */
#content .top {
    margin: 0 0 40px;
}

#otzyv .block {
    padding: 15px;
    border-radius: 4px;
    border: 1px dashed var(--border-color-light);
    margin: 0 0 10px;
    line-height: 1.5;
    color: #404040;
}

#otzyv .name_date {
    margin: 0 0 10px;
}

#otzyv .name {
    font-weight: 500;
    margin-right: 20px;
}

#otzyv .date {
    font-style: italic;
}

/* Страница "Видео" */
#content .video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    border: 1px solid var(--border-color-light);
    margin: 20px 0;
}

#content .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Страница "Реквизиты" */
.content-box table.table_rekvizity td {
    padding-left: 20px;
    text-align: left;
}

/* Страница "Карта сайта" */
#content .sitemap table {
    background: var(--bg-white);
    border: 0;
}

#content .sitemap table td,
#content .sitemap table th {
    text-align: left;
    background: var(--bg-white);
    border: 0;
}

/* Текст */
.text_index {
    margin: 30px 0;
}

.index_plus_block {
    margin: 20px 0 25px;
}

.index_plus_block .left {
    float: left;
}

.index_plus_block .block {
    margin-left: 55px;
}

.index_plus .fa {
    margin: 3px 0 0 10px;
    font-size: 2.5em;
    color: var(--secondary-color);
}

.index_plus .title {
    font-size: 1.1em;
    margin-bottom: 0;
}

.index_plus .text {
    font-size: 1em;
    margin-bottom: 0;
}

/* Шаги заказа */
ol.index_zakaz {
    margin: 20px 0 30px;
    counter-reset: myCounter;
}

ol.index_zakaz li {
    list-style: none;
}

ol.index_zakaz li:before {
    counter-increment: myCounter;
    content: counter(myCounter);
    color: var(--bg-white);
    background: var(--secondary-color);
    display: inline-block;
    text-align: center;
    margin: 5px 10px;
    line-height: 37px;
    width: 37px;
    height: 37px;
    font-size: 1.2em;
}

/* Ссылки каталога */
.catalog-links {
    margin-top: 30px;
}

.catalog-links__text {
    font-size: 0.9em;
}

.catalog-links__link {
    display: inline-block;
    margin-bottom: 30px;
    line-height: 0.7;
}

.catalog-links__link-link {
    padding: 5px 10px;
    border: 1px solid #0095e6;
    margin-right: 15px;
    color: #0095e6;
    font-size: 0.9em;
}

.catalog-links__link-link:hover {
    background-color: #0095e6;
    color: var(--bg-white);
}