html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin-block-start:.5rem;margin-block-end:1rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-start:0;margin-block-end:.9rem}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;text-decoration:none;color:#c36}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{font-size:16px;color:#333;line-height:1.4;font-style:italic;font-weight:400}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #ccc}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{width:auto;-webkit-appearance:button}[type=button],[type=submit],button{display:inline-block;font-weight:400;color:#c36;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid #c36;padding:.5rem 1rem;font-size:1rem;border-radius:3px;transition:all .3s}[type=button]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{color:#fff;background-color:#c36;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;width:100%;margin-block-end:15px;font-size:.9em;border-spacing:0;border-collapse:collapse}table td,table th{padding:15px;line-height:1.5;vertical-align:top;border:1px solid hsla(0,0%,50.2%,.5019607843)}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50.2%,.5019607843)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50.2%,.0705882353)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50.2%,.1019607843)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50.2%,.5019607843)}@media (max-width:767px){table table{font-size:.8em}table table td,table table th{padding:7px;line-height:1.3}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{margin-block-start:0;margin-block-end:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
/* Основные стили для карточки товара */
.product-card {
    padding: 15px;
    border-radius: 35px; /* Закругленные углы */
    transition: transform 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
}

/* Изображение товара */
.product-image img {
    width: 100%;
    height: auto;
    border-radius: 35px !important; /* Закругленные углы с !important */
}

/* Название товара */
.product-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
    font-family: 'Roboto';
    width: 70%;
}
.product-title a{
    color: #fff ;

}

/* Ссылка "ПОДРОБНЕЕ" */
.product-link {
    text-decoration: none;
    font-weight: 500;
    font-size: 0.85rem;
    color:#B0CB1F;
}

.product-link a{
    color:#B0CB1F;
}

.product-link:hover {
    text-decoration: underline;
}

/* Цена товара */
.product-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
}

/* Атрибуты товара */
.product-attributes {
    margin-top: 10px;
    display: flex;
    justify-content: space-around;
}

.attribute-item {
    margin-bottom: 5px;
}

.attribute-icon {
    color: #28a745; /* Цвет иконки чекбокса */
    font-weight: bold;
}

.attribute-value {
    font-size: 0.95rem;
    color: #555;
}


/* Основные стили для карточек товаров */
.card {
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.card-img-top {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.product-title a {
    color: #303030;
    text-decoration: none;
    font-weight: 600;
}

.product-title a:hover {
    color: #b0cb1f;
}

.product-price {
    color: #303030;
    font-size: 1.1rem;
    font-weight: 600;
}

.product-meta {
    color: #666;
    font-size: 0.9rem;
}

.product-meta span {
    margin-right: 8px;
}

/* Кнопка "Подробнее" */
.add_to_cart_button,
.added_to_cart {
    background-color: #b0cb1f;
    border-color: #b0cb1f;
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

.add_to_cart_button:hover,
.added_to_cart:hover {
    background-color: #9bb11a;
    border-color: #9bb11a;
}

/* Основные стили для страницы товара */
/* Название товара */
.product-main-title {
    color: #303030;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 30px;
}

/* Галерея изображений */
.product-gallery img {
    border-radius: 8px;
    margin-bottom: 16px;
    width: 100%;
    height: auto;
}

/* Правый блок: Цена, сроки и работы */
.single-catalog-col {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
}

.portfolio-slide-price-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.portfolio-slide-price-before {
    font-size: 1rem;
    font-weight: 600;
    color: #666;
}

.portfolio-slide-price-value {
    font-size: 2rem;
    font-weight: 700;
    color: #b0cb1f;
}

/* "Построили под ключ за 60 дней" с зеленым овалом */
.time-bubble {
    background-color: #b0cb1f;
    color: #fff;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    display: inline-block;
    margin-bottom: 20px;
}

.time-bubble b {
    color: #303030;
}

/* "В стоимость вошли работа и материалы" (подзаголовок) */
.portfolio-slide-works-title {
    font-size: 1rem;
    font-weight: 700;
    color: #303030;
    margin-bottom: 20px;
}

.portfolio-slide-works-list {
    display: flex;
    gap: 20px;
}

.works-column {
    flex: 1;
}

.work-item {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 10px;
}

.check-icon {
    display: inline-block;
    min-width: 20px;
    height: 20px;
    background-color: #b0cb1f;
    color: #fff;
    border-radius: 4px;
    text-align: center;
    line-height: 20px;
    margin-right: 10px;
}

/* Преимущества проекта */
.advantages-section {
    margin-top: 40px;
    padding: 40px 0;
    background-color: #b0cb1f;
    border-radius: 8px;
}

.advantages-section h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
}

.card {
    border: none;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #fff;
    height: 100%;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.card-body.custom-card-body {
    padding: 20px;
}

.card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #303030;
    margin-bottom: 10px;
}

.card-text {
    font-size: 0.9rem;
    color: #666;
}

/* Описание товара */
.product-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #444;
}

/* Адаптивность */
@media (max-width: 767.98px) {
    .product-main-title {
        font-size: 1.75rem;
    }

    .portfolio-slide-price-value {
        font-size: 1.5rem;
    }

    .advantages-section h2 {
        font-size: 1.25rem;
    }

    .card {
        margin-bottom: 20px;
    }
}

/* Основное изображение товара */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: auto !important;
    height: 500px !important;
    display: block;
    margin: 0 auto;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px;
    background-color: #fff;
}

.woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
    list-style-type: none;
}

.woocommerce-product-gallery .flex-control-thumbs img {
 margin: 4px;
}













/* ======= Основные стили каталога ======= */
.catalog-main-section {
    padding: 60px 0;
    background-color: #fff;
    font-family: 'Roboto', sans-serif;
}

.woocommerce-products-header {
    margin-bottom: 40px;
    text-align: center;
}

.woocommerce-products-header__title.page-title {
    font-size: 36px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Unbounded', sans-serif;
}

/* ======= Сетка товаров ======= */
.row.g-4 {
    row-gap: 30px !important;
}

.product-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 3px 15px rgba(0,0,0,0.05);
    height: 100%;
    border: 1px solid #e6e6e6;
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
    border-color: #b0cb1f;
}

/* Изображение товара - ЗАНИМАЕТ ВСЁ ПРОСТРАНСТВО */
.position-relative.overflow-hidden {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Квадратное соотношение (можно изменить на 75% для 4:3) */
    border-radius: 15px !important;
    margin: 0 !important;
    overflow: hidden;
    flex-shrink: 0;
    height: 300px;
}

.position-relative.overflow-hidden img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.product-card:hover .position-relative.overflow-hidden img {
    transform: scale(1.03);
}

/* Тело карточки */
.p-3.d-flex.flex-column.h-100 {
    padding: 25px !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Заголовок товара только в каталоге */
.woocommerce .product-title.h5,
.woocommerce-page .product-title.h5 {
    font-size: 18px;
    color: #202020;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.4;
    min-height: 50px;
    width: 100%;
    font-family: 'Unbounded', sans-serif;
    text-align: center;
}

.woocommerce .product-title.h5 a,
.woocommerce-page .product-title.h5 a {
    color: #202020;
    text-decoration: none;
    transition: color 0.3s;
    display: block;
    width: 100%;
}

.woocommerce .product-title.h5 a:hover,
.woocommerce-page .product-title.h5 a:hover {
    color: #b0cb1f;
}

/* Блок с атрибутами */
.product-attributes.mb-3 {
    margin-top: 10px;
    margin-bottom: 20px !important;
}

.attribute-item {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    font-size: 14px;
}

.attribute-item .text-success.me-1 {
    color: #b0cb1f !important;
    font-weight: bold;
    margin-right: 8px;
}

.attribute-item small.text-muted {
    color: #666 !important;
}

.attribute-item .text-dark {
    color: #333 !important;
    font-weight: 500;
}

/* Цена товара */
.product-price.fw-bold.fs-5 {
    font-size: 30px !important;
    color: #b0cb1f !important;
    margin: 15px 0 20px;
    text-align: center;
}

/* Кнопка "Подробнее" */
.btn.btn-danger.w-100 {
    background-color: #b0cb1f;
    border: none;
    padding: 12px 25px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 45px;
    transition: all 0.3s;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #FFF !important;
    font-family: 'Roboto', sans-serif;
    width: 60% !important;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    line-height: normal;
    position: relative;
}

.btn.btn-danger.w-100:hover {
    background-color: #9bb61a;
    transform: translateY(-2px);
}

/* Иконка стрелки для кнопки */
.btn.btn-danger.w-100::after {
    content: "→";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    margin-left: 10px;
    line-height: 24px;
    text-align: center;
    font-size: 16px;
    transition: all 0.3s;
}

.btn.btn-danger.w-100:hover::after {
    background: rgba(255,255,255,0.3);
    transform: translateX(3px);
}

/* Пагинация */
.woocommerce-pagination {
    margin-top: 50px;
    text-align: center;
}

.page-numbers {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
}

.page-numbers li {
    margin: 0 5px;
}

.page-numbers a,
.page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s;
}

.page-numbers a:hover,
.page-numbers .current {
    background-color: #b0cb1f;
    color: #fff;
    border-color: #b0cb1f;
}

/* ======= Адаптивность ======= */
@media (max-width: 1199px) {
    .woocommerce-products-header__title.page-title {
        font-size: 30px;
    }
    
    .btn.btn-danger.w-100 {
        width: 70% !important;
    }
}

@media (max-width: 767px) {
    .catalog-main-section {
        padding: 30px 0;
    }
    
    .woocommerce-products-header {
        margin-bottom: 25px;
    }
    
    .woocommerce-products-header__title.page-title {
        font-size: 24px;
    }
    
    .woocommerce .product-title.h5,
    .woocommerce-page .product-title.h5 {
        font-size: 16px;
        min-height: auto;
    }
    
    .btn.btn-danger.w-100 {
        width: 80% !important;
        font-size: 13px;
        padding: 10px 20px;
    }
    
    .btn.btn-danger.w-100::after {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 14px;
    }
}

@media (max-width: 575px) {
    .btn.btn-danger.w-100 {
        width: 100% !important;
    }
}



/* Горизонтальная форма */
.horizontal-contact-form {
    max-width: 100%;
}

.horizontal-contact-form .form-control {
    height: 50px;
    border-radius: 35px;
    border: 1px solid #e0e0e0;
    padding: 10px 15px;
    font-size: 16px;
}

.horizontal-contact-form .form-control:focus {
    border-color: #b0cb1f;
    box-shadow: 0 0 0 0.25rem rgba(176, 203, 31, 0.25);
}

/* Стилизация кнопки как в карточках товаров */
.btn-details-form {
    background-color: #b0cb1f !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 25px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    border-radius: 45px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
    width: 100% !important;
    text-align: center !important;
    transition: all 0.3s !important;
    height: 50px !important;
    line-height: 26px !important;
    cursor: pointer !important;
}

.btn-details-form:hover {
    background-color: #9bb61a !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* Адаптивность */
@media (max-width: 768px) {
    .horizontal-contact-form {
        flex-direction: column;
        align-items: stretch;
    }
    
    .horizontal-contact-form > div {
        min-width: 100% !important;
        margin-bottom: 15px;
    }
}

/* Стиль для телеграм поля (если нужно) */
.telegram-field {
    display: none; /* или другие стили по необходимости */
}


.woocommerce-product-gallery__trigger{
    position: absolute;
    z-index: 999;
    background-color: #b0cb1f;
    padding: 10px 13px;
    border-radius: 40px;
    margin: 5px;
}


/* Горизонтальная форма заявки */
.horizontal-request-form {
    max-width: 100%;
    margin-bottom: 30px;
}

.hrf-field {
    margin-bottom: 0;
}

.hrf-input {
    height: 50px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    padding: 10px 15px;
    font-size: 16px;
    width: 100%;
    transition: all 0.3s;
}

.hrf-input:focus {
    border-color: #b0cb1f;
    box-shadow: 0 0 0 0.25rem rgba(176, 203, 31, 0.25);
    outline: none;
}

/* Стилизация кнопки */
.hrf-btn {
    background-color: #b0cb1f;
    color: #fff;
    border: none;
    padding: 12px 25px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 45px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    width: 100%;
    text-align: center;
    transition: all 0.3s;
    height: 50px;
    line-height: 26px;
    cursor: pointer;
    font-family: 'Roboto', sans-serif;
}

.hrf-btn:hover {
    background-color: #9bb61a;
    transform: translateY(-2px);
    color: #fff;
}

/* Поле телеграм (скрыто по умолчанию) */
.hrf-telegram {
    display: none;
}

/* Адаптивность */
@media (max-width: 768px) {
    .horizontal-request-form {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    
    .hrf-field,
    .hrf-submit {
        min-width: 100% !important;
    }
}

.elementor-shortcode .woocommerce-Price-amount{
    font-size: 26px !important;
    font-weight: 600;
    color: #b0cb1f;
}


.elementor-shortcode .work-item {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    color: #303030;
    margin-bottom: 10px;
    font-weight: 600;
}