.root {
    display: flex;
    flex-direction: column;
    width: 420px;
    height: 592px;
    padding: var(--spacing-48);
    position: relative;
}

.pricingLabel {
    width: max-content;
}

.pricingLabelDesktop {
    margin-bottom: var(--spacing-28);
}

.pricingLabelMobile {
    display: none;
    margin-bottom: var(--spacing-20);
}

.pricing {
    margin-bottom: var(--spacing-28);
}

.benefits {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-12);
    margin-bottom: auto;
}

.pricingButtonContainerDesktop {
    display: flex;
}

.pricingButtonContainerMobile {
    display: none;
}

.root::before,
.root::after {
    content: '';
    position: absolute;
    height: var(--border-width-sm);
    background-color: var(--border-color-light);
}

.root::before {
    top: 0;
    left: var(--spacing-16);
    right: var(--spacing-16);
}

.root::after {
    bottom: 0;
    left: var(--spacing-16);
    right: var(--spacing-16);
}

.leftBorder,
.rightBorder {
    position: absolute;
    width: var(--border-width-sm);
    background-color: var(--border-color-light);
}

.leftBorder {
    top: var(--spacing-16);
    bottom: var(--spacing-16);
    left: 0;
}

.rightBorder {
    top: var(--spacing-16);
    bottom: var(--spacing-16);
    right: 0;
}

@media (width <= 768px) {
    .root {
        width: 335px;
        height: fit-content;
        padding: var(--spacing-28);
    }

    .pricingLabelDesktop {
        display: none;
    }

    .pricingLabelMobile {
        display: flex;
    }

    .pricing {
        margin-bottom: var(--spacing-20);
    }

    .benefits {
        margin-bottom: 32px;
    }

    .pricingButtonContainerDesktop {
        display: none;
    }

    .pricingButtonContainerMobile {
        display: flex;
    }

    .leftBorder {
        top: 8px;
        bottom: 8px;
        left: 0;
    }

    .rightBorder {
        top: 8px;
        bottom: 8px;
        right: 0;
    }
}
