.b-plan{

    padding:120px 0;

    background:#fff;

}

.b-plan__viewer{
    gap:14px;
    position:relative;

    margin:60px 0;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 25px 80px rgba(0,0,0,.12);

}

.b-plan__viewer img{

    display:block;

    width:100%;

    height:700px;

    object-fit:cover;

}

.b-plan__view{

    position:absolute;

    left:40px;

    bottom:40px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:18px 30px;

    border-radius:50px;

    text-decoration:none;

    color:#fff;

    background:rgba(30,41,47,.9);

    backdrop-filter:blur(15px);

    transition:.3s;

}
.b-plan__arrow{
    transition:.3s;
}
.b-plan__view:hover{
    transform:translateX(5px);
    background:var(--main-color);

}

.b-plan__list{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

    margin-top:40px;

}

.b-plan-card{

    position:relative;

    padding:28px 30px;

    background:#fff;

    border:1px solid #e8e8e8;

    border-radius:22px;

    cursor:pointer;

    transition:.35s;

    overflow:hidden;

}

.b-plan-card:hover{

    transform:translateY(-6px);

    border-color:var(--main-color);

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.b-plan-card.is-active{

    border-color:var(--main-color);

    box-shadow:0 20px 60px rgba(181,157,102,.18);

}

.b-plan-card.is-active::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:5px;

    height:100%;

    background:var(--main-color);

}

.b-plan-card__title{

    font-size:24px;

    font-weight:700;

    color:var(--main-color-2);

    margin-bottom:12px;

}

.b-plan-card__area{

    font-size:16px;

    color:#7a7a7a;

}

.b-plan-card__area::before{

    content:"📐 ";

    margin-right:4px;

}

.b-plan-card::after{

    content:"→";

    position:absolute;

    right:25px;

    top:50%;

    transform:translateY(-50%);

    font-size:24px;

    color:#c8c8c8;

    transition:.3s;

}

.b-plan-card:hover::after{

    color:var(--main-color);

    transform:translateY(-50%) translateX(5px);

}

.b-plan__overlay{

    position:absolute;

    top:0;
    left:0;

    width:85%;
    height:100%;

    background:#fff;

    display:flex;
    justify-content:center;
    align-items:center;

    transform:translateX(-100%);

    transition:.45s cubic-bezier(.4,0,.2,1);

    z-index:5;

    box-shadow:25px 0 60px rgba(0,0,0,.18);

}

.b-plan__overlay.is-open{

    transform:translateX(0);

}

.b-plan__overlay img{

    max-width:90%;

    max-height:90%;

    object-fit:contain;

}

.b-plan__close{

    position:absolute;

    top:25px;

    right:25px;

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:var(--main-color-2);

    color:#fff;

    cursor:pointer;

    font-size:22px;

}

.b-plan__viewer::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(30,41,47,.45);

    opacity:0;

    transition:.35s;

    pointer-events:none;

}

.b-plan__viewer.is-open::after{

    opacity:1;

}

.b-plan__subtitle{
    display: inline-block;
    margin-bottom: 18px;
    color: var(--main-color);
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 13px;
    font-weight: 700;
}
/* ===================================== */
/* Планшет */
/* ===================================== */

@media (max-width:992px){

    .b-plan{

        padding:90px 0;

    }

    .b-plan__title{

        font-size:42px;

    }

    .b-plan__viewer{

        margin:45px 0;
        border-radius:24px;

    }

    .b-plan__viewer img{

        height:500px;

    }

    .b-plan__view{

        left:25px;
        right:25px;
        bottom:25px;

        justify-content:center;

    }

    .b-plan__list{

        grid-template-columns:1fr;
        gap:18px;

    }

}
@media (max-width:768px){

    .b-plan{

        padding:70px 0;

    }

    .b-plan__head{

        text-align:center;

    }

    .b-plan__title{

        font-size:34px;

        margin-bottom:15px;

    }

    .b-plan__text{

        font-size:16px;
        line-height:1.7;

    }

    .b-plan__viewer{

        margin:35px 0;
        border-radius:18px;

    }

    .b-plan__viewer img{

        height:300px;

    }

    .b-plan__view{

        left:15px;
        right:15px;
        bottom:15px;

        width:auto;

        padding:15px 20px;

        font-size:15px;

        border-radius:14px;

    }

    .b-plan__overlay{

        width:100%;

        border-radius:18px;

    }

    .b-plan__overlay img{

        max-width:92%;
        max-height:92%;

    }

    .b-plan__close{

        width:42px;
        height:42px;

        top:15px;
        right:15px;

    }

    .b-plan__list{

        gap:15px;

    }

    .b-plan-card{

        padding:20px 22px;

        border-radius:18px;

    }

    .b-plan-card__title{

        font-size:20px;

        margin-bottom:8px;

    }

    .b-plan-card__area{

        font-size:15px;

    }

    .b-plan-card::after{

        right:20px;

        font-size:20px;

    }

}
@media (max-width:480px){

    .b-plan{

        padding:60px 0;

    }

    .b-plan__title{

        font-size:28px;

    }

    .b-plan__viewer img{

        height:240px;

    }

    .b-plan__view{

        font-size:14px;

        padding:14px 16px;

    }

    .b-plan-card{

        padding:18px;

    }

    .b-plan-card__title{

        font-size:18px;

    }

    .b-plan-card__area{

        font-size:14px;

    }

}