/* ===== ОСНОВНОЙ ЛЕЙАУТ ===== */

.tf-product-layout{
    display:grid;
    grid-template-columns: 1fr 380px;
    gap:30px;
    max-width:1000px;
    margin:30px auto;
}

/* ===== ЛЕВАЯ КОЛОНКА ===== */

.tf-product-left{
    position:sticky;
    top:20px;
}

/* квадратное фото */
.tf-product-gallery{
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:20px;
}

.tf-product-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.tf-product-title{
    font-size:20px;
    margin:12px 0;
    text-align:left;
}

/* ===== ПРАВАЯ КОЛОНКА ===== */

.tf-side-title{
    font-size:18px;
    margin-bottom:8px;
}

/* ===== ФОРМА ===== */

.tailoring-form{
    background:#fff;
    padding:16px;
    border-radius:18px;
    box-shadow:0 8px 24px rgba(0,0,0,0.05);
    display:grid;
    gap:10px;
}

/* карточки */
.tf-card{
    border:1px solid #eee;
    padding:10px;
    border-radius:12px;
}

/* заголовки */
.tf-card__title{
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
}

/* сетки */
.tf-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.tf-grid-3{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
}

/* поля */
/* фокус полей */
.tailoring-form input:focus,
.tailoring-form textarea:focus{
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-focus);
}
input, textarea{
    width:100%;
    padding:10px;
    border-radius:10px;
    border:1px solid #ddd;
    font-size:14px;
}

/* ссылка */
.tf-link-btn{
    margin-top:6px;
    background:none;
    border:none;
    color: var(--color-primary);
    font-size:13px;
    cursor:pointer;
}

/* скрытые поля */
.tf-fitted{
    display:none;
    margin-top:8px;
}

.tf-fitted.is-open{
    display:block;
}

/* кнопка добавить */
.tf-outline-btn{
    margin-top:6px;
    border:1px dashed #ccc;
    padding:8px;
    border-radius:10px;
    background:none;
    font-size:13px;
    cursor:pointer;
}

/* кнопка отправки */
.tf-submit{
     background: var(--color-primary);
    color:#fff;
    padding:12px;
    border-radius:10px;
    border:none;
    font-weight:600;
}
.tf-submit:hover{
    background: var(--color-primary-hover);
}

/* доверие */
.tf-trust{
    text-align:center;
    font-size:12px;
    color:#777;
}

/* summary */
.tf-summary{
    background:#f5fafa;
    padding:10px;
    border-radius:10px;
    font-size:13px;
}

.tf-telegram-btn{
    display:block;
    text-align:center;
    margin-top:8px;
    padding:12px;
    border-radius:12px;
    background:#229ED9;
    color:#fff;
    text-decoration:none;
    font-weight:600;
}
.tf-viber-btn{
    display:block;
    text-align:center;
    margin-top:8px;
    padding:12px;
    border-radius:12px;
    background:#7360F2;
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

/* контейнер */
.tf-messenger-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
}

/* общие стили */
.tf-messenger-row a{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    color: #fff;
}

/* Telegram */
.tf-telegram-btn{
    background: #229ED9;
}

/* Viber */
.tf-viber-btn{
    background: #7360F2;
}

/* контейнер */
.tf-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
}

/* кнопки */
.tf-tabs a{
    padding:10px 16px;
    border-radius:999px;
    border:1px solid #ddd;
    text-decoration:none;
    color:#111;
    background:#fff;
    font-size:14px;
    transition:0.2s;
}

/* hover */
.tf-tabs a:hover{
    border-color:#2f9e98;
    color:#2f9e98;
}

/* активная */
.tf-tabs a.is-active{
    background: var(--color-primary);
    border-color: var(--color-primary);
    color:#fff;
     box-shadow:0 4px 10px rgba(47,158,152,0.3);
}

/* сетка */
.tf-grid-products{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(180px,1fr));
    gap:16px;
    padding: 0 10px;
}

/* карточка */
.tf-product-card{
    display: flex;
    flex-direction: column;
    height: 100%;
        border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

/* hover */
.tf-product-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* изображение */
.tf-card-image{
    aspect-ratio: 1 / 1;
    overflow: hidden;
    flex: 0 0 auto;
}

.tf-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.3s;
}

/* zoom */
.tf-product-card:hover img{
    transform:scale(1.05);
}

/* тело */
.tf-card-body{
    display:flex;
    flex-direction:column;

    padding:12px 14px 14px;

    flex:1;
}

/* название */
.tf-card-title{
    margin:0 0 14px;

    font-size:15px;
    line-height:1.25;
    font-weight:400;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;

    overflow:hidden;

    min-height:2.5em;
}

/* кнопка */
.tf-card-body .btn--soft.tf-card-action{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-top:auto;
}


@media(max-width:480px){
    .tf-messenger-row{
        grid-template-columns: 1fr;
    }
}
/* ===== МОБИЛКА ===== */

@media(max-width:900px){

    .tf-product-layout{
        grid-template-columns:1fr;
    }

    .tf-product-left{
        position:static;
    }

}

/* мобильный скролл */
@media(max-width:600px){

    .tf-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:10px;
        padding-left:5px;
    }

    .tf-tabs::-webkit-scrollbar{
        display:none;
    }

    .tf-tabs a{
        flex:0 0 auto;
        white-space:nowrap;
    }

}
@media(max-width:600px){
    .tf-grid-products{
        grid-template-columns:repeat(2,1fr);
    }
}
.product-carousel-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}

.product-carousel-actions .product-carousel-btn{
    flex:1;
    text-align:center;
}