
.de_pricing-table2 {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    z-index: 0;
}

/* создаём анимированную рамку */
.de_pricing-table2::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 3px; /* толщина рамки */
    background: linear-gradient(270deg, #ff00cc, #3333ff, #00ffff, #ff00cc);
    background-size: 800% 800%;
    animation: borderMove 6s linear infinite;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}

@keyframes borderMove {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}



.invisible-block {
    opacity: 0;
    pointer-events: none; /* чтобы нельзя было кликнуть */
    transition: opacity 0.3s;
}

/* при ширине экрана меньше 450px — полностью убрать */
@media (max-width: 450px) {
    .invisible-block {
        display: none !important;
    }
}





.de_pricing-table {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; /* важно, чтобы карточки были одинаковой высоты */
    position: relative;
}

.de_pricing-table .d-price {
    margin-bottom: auto; /* чтобы всё что выше кнопок поджималось вверх */
}

.de_pricing-table .d-action {
    margin-top: auto; /* прижимаем вниз */
    margin-bottom: 30px; /* твой отступ снизу */
}

.border_bottom_price:hover{
    text-decoration: underline;
}

@media (min-width: 768px){
    .de_pricing-table .d-head {
        min-height: 90px; /* регулируй под свою высоту заголовка */
        display: flex;
        align-items: center; /* выравнивание текста по вертикали */
        justify-content: center;
        text-align: center;
    }
}




