/* ProgramPackage */
.ProgramPackage-Subtitle {
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    margin-top: 25px;
    width: 60%;
}
.ProgramPackage-Block {
    padding: 32px;
    background-color: white;
    border-radius: 12px;
}
.ProgramPackage-BlockTop {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 30px;
}
.ProgramPackage-BlockTop.sale-below {
    flex-direction: column;
    align-items: flex-start;
}
.ProgramPackage-BlockTop.sale-below .ProgramPackage-TabList {
    width: 100%;
}
.ProgramPackage-BlockTop.sale-below .ProgramPackage-Sale {
    width: auto;
    margin-top: 20px;
}
.ProgramPackage-TabList {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    border-radius: 50px;
    position: relative;
}
.ProgramPackage-TabList.visible {
    opacity: 1;
}
.ProgramPackage-TabList::-webkit-scrollbar {
    display: none;
}
.ProgramPackage-TabListInner {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background-color: #EEF3F4;
    border-radius: 50px;
    position: relative;
    flex-wrap: nowrap;
}
.ProgramPackage-TabIndicator {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #03557A;
    border-radius: 100px;
    transition: left 0.3s ease-in-out, width 0.3s ease-in-out;
    z-index: 1;
    width: 0;
    opacity: 0;
}
.ProgramPackage-TabIndicator.initialized {
    opacity: 1;
}
.ProgramPackage-TabItem {
    position: relative;
    z-index: 2;
    color: #02557A80;
    cursor: pointer;
    transition: color 0.3s ease-in-out;
    white-space: nowrap;
    font-weight: 700;
    font-size: 16px;
    padding: 18px 47px;
}
.ProgramPackage-TabItem_active {
    color: white;
}
.ProgramPackage-Sale {
    padding: 8px 20px 8px 8px;
    border: 1px solid #81B798;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    background-color: #81B7984D;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}
.ProgramPackage-Sale.visible {
    opacity: 1;
}
.ProgramPackage-SalePercent {
    padding: 8px;
    border-radius: 50px;
    background-color: #81B798;
    color: white;
    font-weight: 700;
    font-size: 24px;
    line-height: 24px;
    white-space: nowrap;
}
.ProgramPackage-SaleText {
    font-weight: 400;
    font-size: 20px;
    line-height: 20px;
}
.ProgramPackage-Content {
    position: relative;
}
.ProgramPackage-TabContent {
    display: none;
}
.ProgramPackage-TabContent_active {
    display: block;
}
.ProgramPackage-CardList {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 30px;
}
.ProgramPackage-Card {
    width: calc((100% - 2 * 30px) / 3);
    padding: 32px;
    border-radius: 12px;
    background-color: #EEF3F4;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.ProgramPackage-CardHeader {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    margin-bottom: 32px;
}
.ProgramPackage-CardServices {
    flex: 1;
    margin-bottom: 16px;
}
.ProgramPackage-CardAdditional {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 0;
}
.ProgramPackage-AdditionalItem {
    padding: 6px 12px;
    border-radius: 50px;
    background-color: white;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #212529;
    display: inline-block;
    width: 100%;
}
.ProgramPackage-ServiceItem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 8px;
    margin-bottom: 16px;
    border-bottom: 1px dashed #A4BBC1;
    gap: 12px;
}
.ProgramPackage-ServiceItem_inactive .ProgramPackage-ServiceName {
    color: #859591;
}
.ProgramPackage-ServiceName {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}
.ProgramPackage-ServiceCount {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}
.ProgramPackage-CardFooter {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    margin-top: auto;
    padding-top: 24px;
}
.ProgramPackage-CardFooter > div {
    width: calc((100% - 1 * 12px) / 2);
}
.ProgramPackage-Price {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ProgramPackage-PriceOld {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #859591;
    text-decoration: line-through;
}
.ProgramPackage-PriceCurrent {
    font-weight: 700;
    font-size: 26px;
    line-height: 100%;
    color: #212529;
}
.ProgramPackage-CardFooter .ProgramButton {
    padding: 18px 24px;
    font-size: 16px;
    line-height: 24px;
    background-color: #81B798;
    border-color: transparent !important;
}

@media(min-width: 992px) {
    .ProgramPackage-CardFooter .ProgramButton:hover {
        background-color: #76a68b;
    }
}
@media(max-width: 1199px) {
    .ProgramPackage-BlockTop {
        flex-wrap: wrap;
        flex-direction: column;
        gap: 10px;
    }
    .ProgramPackage-BlockTop.sale-below {
        flex-direction: column;
    }
    .ProgramPackage-BlockTop.sale-below .ProgramPackage-Sale {
        margin-top: 0;
    }
    .ProgramPackage-TabList {
        width: 100%;
    }
    .ProgramPackage-TabList.has-sale {
        width: 100%;
    }
    .ProgramPackage-TabList.no-sale {
        width: 100%;
    }
    .ProgramPackage-Sale {
        width: 100%;
    }
    .ProgramPackage-TabListInner {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .ProgramPackage-TabListInner::-webkit-scrollbar {
        display: none;
    }
    .ProgramPackage-CardList {
        flex-wrap: nowrap;
        gap: 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin-right: calc(32px * -1);
        margin-left: calc(32px * -1);
        padding-right: 32px;
        padding-left: 32px;
        padding-bottom: 4px;
    }
    .ProgramPackage-CardList::-webkit-scrollbar {
        display: none;
    }
    .ProgramPackage-Card {
        min-width: 400px;
        flex: 0 0 auto;
    }
}
@media(max-width: 991px) {
    .ProgramPackage-CardAdditional {
        margin-bottom: 12px;
    }
    .ProgramPackage-Block {
        padding: 24px;
    }
    .ProgramPackage-BlockTop {
        gap: 20px;
        margin-bottom: 30px;
    }
    .ProgramPackage-TabList {
        width: 100%;
    }
    .ProgramPackage-CardList {
        flex-wrap: nowrap;
        gap: 12px;
        margin-right: calc((24px) * -1);
        margin-left: calc((24px) * -1);
        padding-right: calc(24px);
        padding-left: calc(24px);
        padding-bottom: 4px;
    }
    .ProgramPackage-Card {
        min-width: 360px;
        padding: 24px;
    }
    .ProgramPackage-CardHeader {
        font-size: 20px;
        line-height: 140%;
        margin-bottom: 24px;
    }
    .ProgramPackage-ServiceItem {
        padding-bottom: 8px;
        margin-bottom: 12px;
    }
    .ProgramPackage-ServiceName {
        font-size: 16px;
        line-height: 24px;
    }
    .ProgramPackage-ServiceCount {
        font-size: 16px;
        line-height: 24px;
    }
    .ProgramPackage-CardFooter {
        gap: 12px;
        padding-top: 12px;
    }
    .ProgramPackage-PriceCurrent {
        font-size: 20px;
        line-height: 24px;
    }
    .ProgramPackage-CardFooter .ProgramButton {
        max-width: none;
        padding: 14px 20px;
        font-size: 14px;
    }
    .ProgramPackage-Sale {
        width: 100% !important;
        justify-content: flex-start;
        gap: 10px;
    }
    .ProgramPackage-SaleText {
        font-size: 14px;
        line-height: 20px;
    }
    .ProgramPackage-CardServices {
        margin-bottom: 12px;
    }
    .ProgramPackage-SalePercent {
        font-size: 16px;
        line-height: 100%;
    }
    .ProgramPackage-PriceOld {
        font-size: 14px;
    }
    .ProgramPackage-Price {
        gap: 0;
    }
    .ProgramPackage-Subtitle {
        width: 100%;
        font-size: 16px;
    }
}
@media(max-width: 767px) {
    .ProgramPackage-Block {
        padding: 0;
        background-color: transparent;
    }
    .ProgramPackage-TabListInner {
        background-color: white;
    }
    .ProgramPackage-Card {
        background-color: white;
        min-width: 320px;
    }
    .ProgramPackage-AdditionalItem {
        background-color: #EEF3F4;
    }
    .ProgramPackage-BlockTop {
        margin-bottom: 12px;
        gap: 12px;
    }
    .ProgramPackage-CardFooter {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .ProgramPackage-CardFooter > div {
        width: 100%;
    }
}
/* //ProgramPackage */