/* Ported from booknetic.com-new resources/css/components/pricing.css (2026-08-28).
   Every selector is scoped to body.saas so it cannot reach the regular FS Poster site.
   Addon-specific rules were dropped — FS Poster has no add-on catalogue. */

body.saas {
    --white:                  #FFFFFF;
    --red-500:                #FF3D71;
    --gray-50:                #F9FAFB;
    --gray-100:               #F2F4F7;
    --gray-150:               #F0F0F0;
    --gray-200:               #EAECF0;
    --gray-300:               #D0D5DD;
    --gray-400:               #98A2B3;
    --gray-500:               #667085;
    --gray-600:               #475467;
    --gray-650:               #344054;
    --gray-700:               #2E3A59;
    --gray-800:               #1D2939;
    --gray-900:               #101828;

    --font-size-1:            0.875rem;
    --font-size-2:            1rem;
    --font-size-4:            1.25rem;
    --font-size-6:            2.25rem;
    --line-height-1:          1.25rem;
    --line-height-2:          1.5rem;
    --line-height-3:          1.75rem;
    --line-height-4:          1.875rem;
    --line-height-6:          2.75rem;
    --font-weight-regular:    400;
    --font-weight-medium:     500;
    --font-weight-semi-bold:  600;
    --font-weight-bold:       700;
    --font-weight-extra-bold: 800;
    --border-radius-8:        0.5rem;
    --border-radius-12:       0.75rem;
    --border-radius-16:       1rem;
    --box-shadow-xs:          0rem 0.0625rem 0.125rem rgba(16, 24, 40, 0.05);
}

body.saas {
    --plan-rec-width: 242px;
}

body.saas body:has(.discount-bf) .saas-pricing-page .pricing-welcome {
    background: url('../../../public/assets/front/img/bf-pricing-welcome.png') no-repeat bottom;
    background-size: cover;

    & header h1, & header h2 {
        color: #fff;
    }
}

body.saas .old-price {
    padding-top: 10px;
    color: #A8B0B9;
    position: relative;
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    line-height: 22px;

    &:before {
        height: 2px;
        background: #A8B0B9;
        position: absolute;
        transform: rotate(-15deg);
        content: '';
        top: 59%;
        left: -4px;
        width: 120%;
        transform-origin: center center;
    }
}

body.saas .pricing-info {
    margin-top: 32px;
    font-size: var(--font-size-1);
    line-height: 22px;
    color: var(--gray-400);
    text-align: center;
}

body.saas .pricing-free-version {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    flex-wrap: wrap;
}

body.saas .pricing-free-version-text {
    color: #000;
    font-weight: 400;
}

body.saas .pricing-free-version-link {
    background: transparent;
    border: 0;
    padding: 0;
    color: #6D2FFD;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

body.saas .pricing-free-version-link:hover {
    color: #5921D6;
}

body.saas #pricing-page:has(.subscription) .pricing-free-version + .pricing-info {
    margin-top: 40px;
}

body.saas .active-installs {
    margin-top: 58px;
    font-size: 20px;
    line-height: 24px;
    color: var(--gray-700);
    text-align: center;
}

body.saas .price-cart-feature-list-colored {
    color: var(--gray-700);
    font-weight: var(--font-weight-semi-bold);
    text-decoration: underline;
}

body.saas .price-cart-icon {
    margin-bottom: 1.25rem;

    img {
        width: 40px;
    }
}

body.saas .one-time-payment {
    color: var(--gray-700);
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-semi-bold);
    line-height: var(--line-height-2);
    padding-bottom: 14px;
}

body.saas .tenant-features {
    color: #667085;
    font-size: var(--font-size-1);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-2);
    margin-top: 6px;
}

body.saas .price-cart-type {
    color: var(--gray-500);
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-2);
}

body.saas .see-all-features {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 12px 20px;
    border: thin solid var(--gray-300);
    box-shadow: var(--box-shadow-xs);
    border-radius: var(--border-radius-8);
    color: var(--gray-650);
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-semi-bold);
    line-height: var(--line-height-2);
    margin-top: auto;
    margin-bottom: 20px;

    img {
        width: 20px;
        height: 20px;
    }
}

body.saas .inner-price-cart {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--border-radius-12);
    padding: 0.7rem;
}

body.saas .package-total-price {
    margin-top: auto;
    color: #101010;
    font-size: 2.5rem;
    font-weight: var(--font-weight-semi-bold);
    line-height: var(--line-height-6);
    margin-bottom: .75rem;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
}

body.saas .package-total-price .period {
    font-size: 14px;
    font-weight: 400;
    color: #2e3a59;
    padding-top: 10px;
    line-height: 1.2;
}

body.saas .price-cart-badge {
    color: #FCFCFC;
    font-size: 12px;
    font-weight: var(--font-weight-medium);
    line-height: 1rem;
    border-radius: 50px;
    background: #6D2FFD;
    padding: 2px 12px;
}

body.saas .price-cart-name {
    color: #2C2D2E;
    font-size: 1.3rem;
    font-weight: var(--font-weight-semi-bold);
    line-height: var(--line-height-3);
    padding-bottom: 14px;
}

body.saas .price-cart-description {
    color: var(--gray-500);
    font-size: .75rem;
    font-weight: var(--font-weight-regular);
    line-height: 18px;
    padding-bottom: 10px;
    height: 90px;
}

body.saas .price-cart {
    border-radius: var(--border-radius-16);
    position: relative;
    flex: 0 0 289px;
    scroll-snap-align: start;
    background: var(--white);
    border: 1px solid #E9ECEF;
    padding: 4px;
    box-sizing: border-box;
    box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 10px -2px rgba(16, 24, 40, 0.03);
}

body.saas .price-cart-feature-list {
    padding-block: 1rem 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;

    &.saas {
        padding-block: 10px 24px;
    }

    hr {
        margin-top: auto;
        height: 1px;
        width: 100%;
        background-color: currentColor;
        opacity: .25;
    }

    li {
        color: #494C50;
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-regular);
        line-height: 16px;
        padding: 0;
        display: flex;
        align-items: center;
        gap: .25rem;

        img {
            width: 24px;
        }
    }
}

body.saas .saas .price-cart-feature-list {
    padding-block: .75rem 1.5rem;

    li {
        color: var(--gray-500);
        line-height: var(--line-height-2);
        gap: .75rem;
    }
}

body.saas .saas .old-price {
    color: var(--red-500);
    position: relative;
    letter-spacing: -0.44px;

    &:before {
        background: var(--red-500);
    }
}

body.saas .saas .inner-price-cart {
    padding: 1.5rem;
}

body.saas .saas .package-total-price {
    color: var(--gray-700);
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.64px;
    height: 54px;
}

body.saas .saas .price-cart-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #2E3A59;
    border-radius: 0 16px 0 40px;
    padding: 13px 14px 18px 22px;
    color: #fff;
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-extra-bold);
    text-transform: uppercase;
}

body.saas .saas .price-cart-name {
    color: var(--gray-700);
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-6);
    letter-spacing: -0.48px;
}

body.saas .saas .price-cart {
    border: thin solid var(--gray-200);
    box-shadow: none;
}

body.saas .saas-pricing-page .price-cart {
    flex: 1 0 300px;
}

body.saas .saas-pricing-page .price-cart-feature-list:not(.saas) {
    min-height: 144px;
}

body.saas .buy-now-button {
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

body.saas .saas .btn-primary.buy-now-button {
    display: block;
    box-shadow: var(--box-shadow-xs);
    background-color: var(--gray-700);
    width: 100%;
    margin-top: 0;

    &:hover {
        background-color: var(--gray-700);
        filter: brightness(90%);
    }
}

body.saas #pricing-page:not(.saas-pricing-page) {
    .pricing-welcome {
        header {
            h1 {
                font-size: var(--font-size-6);
            }
        }
    }
}

body.saas .pricing-welcome {
    padding-block: 64px;
    background: url('../../../public/assets/front/img/pricing-welcome.svg') no-repeat top center;
    background-size: cover;

    header {
        text-align: center;
        color: var(--gray-700);

        h1 {
            font-size: 2.5rem;
            font-weight: var(--font-weight-bold);
            line-height: 46px;
            margin-bottom: 10px;
        }

        h2 {
            font-size: var(--font-size-4);
            font-weight: var(--font-weight-regular);
            line-height: var(--line-height-4);
        }

        .pricing-badges {
            margin-block: 1.5rem 2rem;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 1rem;

            .badge {
                border-radius: 50px;
                background: #F4EBFF;
                padding: 6px 12px 6px 6px;
                display: flex;
                align-items: center;
                gap: .5rem;
                font-size: var(--font-size-1);
                font-weight: var(--font-weight-medium);
            }
        }
    }

    .pricing-container {
        display: flex;
        justify-content: space-between;
        gap: 1.25rem;
        scroll-snap-type: x mandatory;
        padding-bottom: 15px;

        &.saas {
            padding: 15px;
            overflow-x: auto;
        }
    }
}

body.saas .detailed-price-info {
    padding: 64px 0;
    background: #FCFCFD;

    .section-header {
        margin-bottom: 4rem;
    }

    .container {
        overflow-x: clip;
    }

    .buy-now-button {
        font-size: var(--font-size-1);
        line-height: var(--line-height-1);
    }

    .old-price {
        font-size: var(--font-size-1);
        line-height: 2.25rem;
        letter-spacing: -0.28px;

        &::before {
            height: 1px;
            line-height: 2.25rem;
            left: 0;
            top: 62%;
            letter-spacing: -0.28px;
        }
    }

    /* Comparison header (sticky) */
    .comparison-header {
        display: flex;
        background: #fff;
        border: 1px solid #F2F4F7;
        border-radius: 16px;
        position: sticky;
        top: 0;
        z-index: 10;
        transition: top 250ms ease-in-out;

        .scroll-up & {
            top: 5rem;
        }
    }

    .comparison-header-title {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 320px;
        min-width: 320px;
        padding: 32px 20px;
    }

    .comparison-plans {
        display: flex;
        align-items: center;
        padding: 4px;
        gap: 0;
        border-radius: 24px;
        border: 1px solid #F2F4F7;
        background: #F2F4F7;
        width: max-content;
    }

    .comparison-plans .btn {
        background: transparent;
        color: #667085;
        transition: color 180ms ease;
        border-radius: 32px;
        text-transform: none;
        font-weight: 500;
        font-size: 14px;
        padding: 8px 20px;
        border: none;
        cursor: pointer;
        font-family: inherit;
        line-height: 1.2;

        &.active {
            background: #FFF;
            color: #101828;
            font-weight: 600;
            box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);

            &:hover {
                background: #FFF;
            }
        }
    }

    .comparison-header-plans {
        display: flex;
        flex: 1;
        min-width: 0;
    }

    .comparison-header-plans.hidden {
        display: none;
    }

    .comparison-header-plan {
        flex: 1 1 0%;
        min-width: 0;
        padding: 32px 24px;
        border-left: 1px solid #F2F4F7;
        background: #fff;
        overflow: hidden;

        &:last-child {
            border-radius: 0 16px 16px 0;
        }
    }

    .pricing-table-heading-text {
        max-width: 280px;
        font-weight: 700;
        line-height: 1.2;
        font-size: 22px;
        color: #101828;
        margin: 0;
    }

    .pricing-table-plan-name {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 20px;
    }

    .pricing-table-plan-name .price-cart-name {
        font-size: 20px;
        font-weight: 600;
        color: #2C2D2E;
        line-height: 1.2;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .pricing-table-save-badge {
        padding: 4px 8px;
        border-radius: 8px;
        background: rgba(18, 183, 106, 0.12);
        color: #08854B;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        white-space: nowrap;
    }

    .pricing-table-header .price-cart-sub-pricing {
        margin-bottom: 24px;
    }

    .pricing-table-header .buy-now-button {
        margin-top: 0;
    }

    /* Comparison accordion */
    .comparison-accordion {
        display: flex;
        flex-direction: column;
        gap: 16px;
        background: #fff;
        border: 1px solid #F2F4F7;
        border-radius: 16px;
        padding: 16px 20px;
        margin-top: 15px;
    }

    .comparison-category-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 8px 0;
        background: #fff;
        border: none;
        cursor: pointer;
        font-family: inherit;
    }

    .comparison-category-info {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .comparison-category-icon {
        display: flex;
        align-items: center;
        padding: 6px;
        background: #F0EAFF;
        border-radius: 8px;
    }

    .comparison-category-name {
        font-size: 18px;
        font-weight: 500;
        color: #101828;
        line-height: 1.2;
    }

    .comparison-category-arrow {
        transition: transform 250ms ease-in-out;
        transform: rotate(-90deg);
    }

    .comparison-category.is-open .comparison-category-arrow {
        transform: rotate(0deg);
    }

    .comparison-category-content {
        display: none;
    }

    .comparison-category.is-open .comparison-category-content {
        display: block;
    }

    .comparison-category + .comparison-category {
        border-top: 1px solid #F2F4F7;
        padding-top: 16px;
    }

    /* Feature rows */
    .comparison-features-list {
        border: 1px solid #F2F4F7;
        border-radius: 12px;
        overflow: hidden;
        margin-top: 16px;
    }

    .comparison-feature-row {
        display: flex;

        &:nth-child(odd) {
            background: #FCFCFD;
        }

        &.has-description {
            cursor: pointer;
        }

        &.has-description .comparison-feature-chevron {
            transition: transform 250ms ease-in-out;
        }

        &.is-expanded .comparison-feature-chevron {
            transform: rotate(90deg);
        }
    }

    .comparison-feature-name {
        width: 300px;
        min-width: 300px;
        padding: 20px 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 500;
        color: #101828;
        line-height: 20px;
    }

    .has-description .comparison-feature-name {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .comparison-feature-name-header {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .comparison-feature-description {
        max-height: 0;
        overflow: hidden auto;
        transition: max-height 300ms ease-in-out;
        scrollbar-width: none;

        &::-webkit-scrollbar {
            display: none;
        }

        p {
            padding-top: 8px;
            padding-left: 32px;
            margin: 0;
            font-size: 12px;
            font-weight: 400;
            color: #475467;
            line-height: 1.2;
            overflow-y: auto;
        }
    }

    .comparison-feature-row.is-expanded .comparison-feature-description {
        max-height: 200px;
    }

    .comparison-feature-cells {
        display: flex;
        flex: 1;
        align-self: stretch;
        border-left: 1px solid #EAECF0;
        border-right: 1px solid #EAECF0;
    }

    .comparison-feature-cell {
        flex: 1 1 0%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 24px;
        border-right: 1px solid #EAECF0;

        &:last-child {
            border-right: none;
        }
    }

    .comparison-feature-text {
        font-size: 14px;
        font-weight: 400;
        color: #2E3A59;
        line-height: 1.2;
        text-align: center;
    }
}

body.saas /* Mobile plan bar: hidden by default,
body.saas shown on mobile via media query */
.comparison-mobile-plans {
    display: none;
}

body.saas .saas .price-cart.premium .buy-now-button,
body.saas .saas .pricing-table-header.premium .buy-now-button {
    background: linear-gradient(83deg, #9F75FF 8.5%, #DE51A2 88.56%);
}

body.saas .saas .price-cart.premium .price-cart-name,
body.saas .saas .pricing-table-header.premium .price-cart-name {
    background: linear-gradient(87deg, #9E74FF -7.29%, #FF3D71 74.22%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.saas .saas .price-cart.elite,
body.saas .saas .price-cart.ultimate {
    border: none;
    padding: 5px;
    background: linear-gradient(215deg, #F3D76A 6.13%, #ECB72D 76.46%, #B17811 100%);
}

body.saas .price-cart.premium {
    border: 1px solid #6D2FFD;
}

body.saas .price-cart.infinity {
    border: none;
    padding: 5px;
    border-radius: 16px;
    box-shadow: 0 0 10px 6px rgba(108, 112, 220, 0.70);
    background: url('../../../public/assets/front/img/patterns/infinity-bg.png') center center;

    .inner-price-cart {
        background-color: transparent;
    }
}

body.saas .price-cart.ultimate {
    box-shadow: 0 0 16px 4px rgba(255, 235, 116, 0.50);
}

body.saas .price-cart.ultimate .price-cart-badge {
    color: #2E3A59;
    background: linear-gradient(87deg, #E0B13D 0%, #F6D763 51.5%, #EFDA8B 100%);
}

body.saas .price-cart.elite .price-cart-badge {
    color: #2E3A59;
    background: linear-gradient(264deg, #F3D566 6.13%, #F3D464 76.46%);
}

body.saas .price-cart.infinity .price-cart-type,
body.saas .price-cart.infinity .price-cart-description-saas,
body.saas .price-cart.infinity .one-time-payment,
body.saas .price-cart.infinity .price-cart-feature-list li,
body.saas .price-cart.infinity .tenant-features,
body.saas .price-cart.infinity .old-price {
    color: #fff;
}

body.saas .price-cart.infinity .package-total-price {
    color: #FFE67B;
}

body.saas .price-cart.infinity .old-price::before {
    background: #fff;
}

body.saas .price-cart.infinity .buy-now-button,
body.saas .pricing-table-header.infinity .buy-now-button {
    /*background: linear-gradient(87deg, #6D2FFD 0%, #8E5DFF 100%);*/
    /*box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);*/
}

body.saas .saas-pricing-page .price-cart.standard .price-cart-feature-list svg {
    fill: #26D090;
}

body.saas .price-cart.infinity .price-cart-name {
    color: #FFE67B;
}

body.saas .saas-pricing-page .price-cart.ultimate .price-cart-feature-list svg {
    fill: #E8B32C;
}

body.saas .saas-pricing-page .price-cart.infinity .price-cart-feature-list svg {
    fill: #9161FF;
}

body.saas .price-cart.infinity .price-cart-badge {
    border-radius: 0 16px 0 40px;
    background: linear-gradient(87deg, rgba(113, 53, 253, 0.70) 0%, rgba(118, 59, 253, 0.86) 51.5%, #814BFE 100%);
}

body.saas .price-cart.infinity .see-all-features {
    background-color: var(--white);
}

body.saas .saas .price-cart.premium {
    border: none;
    padding: 5px;
    background: linear-gradient(90deg, #9E74FF 0.46%, #FF3D71 89.68%);
}

body.saas .saas .price-cart.premium .price-cart-badge {
    background: linear-gradient(266deg, #F9417B 0.46%, #DD51A3 89.68%);
}

body.saas #pricing-page:has(.subscription) {
    .pricing-welcome {
        background: #FCFCFD;
    }

    .purple-text {
        color: #6D2FFD;
    }

    .pricing-subscribe-title {
        display: flex;
        gap: 8px;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
    }

    .pricing-subscribe-title .main {
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        color: #475467;
    }

    .pricing-subscribe-title .secondary {
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 120%;
        color:  #2E3A59;
    }

    .section-heading {
        font-size: 40px;
        font-weight: 700;
        margin-bottom: 24px;
    }
}

body.saas html:has(#pricing-page) {
    scroll-behavior: smooth;
}

body.saas .pricing-partners {
    overflow: hidden;
    padding: 50px 0 20px;
}

body.saas .pricing-partners-track {
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;

    animation: partners-marquee 200s linear infinite;
}

body.saas .partner-logo {
    height: 34px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

body.saas .partner-logo img {
    max-height: 34px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.7;
}

body.saas .partner-logo img[alt="Taylor"],
body.saas .partner-logo img[alt="Envato"] {
    filter: invert(1);
}

@keyframes partners-marquee {
body.saas from {
        transform: translate3d(0,0,0);
    }
body.saas to {
        transform: translate3d(-50%,0,0);
    }
}

@media (max-width: 768px) {
body.saas .pricing-partners {
        padding: 40px 0 10px;
    }
body.saas .pricing-subscribe-title {
        flex-direction: column;
    }
body.saas .pricing-partners-track {
        gap: 27px;
        animation: partners-marquee 100s linear infinite;
    }
body.saas .partner-logo {
        height: 28px;
    }
body.saas .partner-logo img {
        max-height: 28px;
        max-width: 140px;
    }
}

body.saas .subscription header h1 {
    margin-bottom: 0;
}

body.saas .pricing-subtitle {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    color: #475467;
    margin-top: 12px;
    max-width: 600px;
    margin-inline: auto;
}

body.saas /* Money Back Guarantee */
.money-back-guarantee {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 64px 0 0;
    padding: 20px 24px;
    border-radius: 16px;
    border: 1px solid var(--gray-100, #F2F4F7);
    background: #FFF;
    height: 132px;
    overflow: hidden;

    svg {
        position: absolute;
        left: -10px;
        z-index: 0;
    }
}

body.saas .money-back-guarantee-left {
    display: flex;
    align-items: center;
    gap: 16px;
    z-index: 2;
}

body.saas .money-back-guarantee-badge {
    width: 105px;
    height: 105px;
    flex-shrink: 0;
}

body.saas .money-back-guarantee-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.saas .money-back-guarantee-title {
    font-size: 20px;
    font-weight: 600;
    color: #101828;
    line-height: 1.2;
    margin: 0;
}

body.saas .money-back-guarantee-desc {
    font-size: 14px;
    font-weight: 400;
    color: #475467;
    line-height: 1.2;
    margin: 0;
    max-width: 618px;
}

body.saas .money-back-guarantee-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    flex-shrink: 0;
    z-index: 2;
}

body.saas .money-back-guarantee-role {
    font-size: 14px;
    font-weight: 400;
    color: #000;
    line-height: 20px;
}

@media (max-width: 991px) {
body.saas .money-back-guarantee {
        flex-direction: column;
        height: auto;

        svg {
            width: 100%;
            height: 100%;
        }
    }
body.saas .money-back-guarantee-right {
        width: 100%;
    }
}

@media (max-width: 768px) {
body.saas .money-back-guarantee {
        gap: 24px;
        padding: 20px;

        svg {
            left: -85px;
            top: 75px;
        }
    }
body.saas .money-back-guarantee-left {
        flex-direction: column;
        text-align: center;
    }
body.saas .money-back-guarantee-right {
        align-items: center;
    }
}

@media (max-width: 500px) {
body.saas .money-back-guarantee {
        svg {
            display: none;
        }
    }
}

body.saas /* Try Booknetic For Free banner */
.try-free-banner {
    position: relative;
    margin-top: 64px;
    padding: 40px 40px 29px 36px;
    border: 1px solid #EAECF0;
    border-radius: 24px;
    background: #F4F3FF;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

body.saas .try-free-banner::before,
body.saas .try-free-banner::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

body.saas .try-free-banner::before {
    top: -120px;
    left: -120px;
    width: 320px;
    height: 320px;
    background: rgba(59, 130, 246, 0.10);
    filter: blur(45px);
}

body.saas .try-free-banner::after {
    bottom: -140px;
    right: -140px;
    width: 360px;
    height: 360px;
    background: rgba(139, 92, 246, 0.10);
    filter: blur(50px);
}

body.saas .try-free-banner-content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
    max-width: 588px;
    z-index: 1;
}

body.saas .try-free-banner-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.saas .try-free-banner-title {
    margin: 0;
    color: #101828;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: capitalize;
}

body.saas .try-free-banner-desc {
    margin: 0;
    color: #475569;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
}

body.saas .try-free-banner-cta {
    padding: 14px 20px;
    border: 0;
    border-radius: 16px;
    background: #000;
    box-shadow: 0 2px 24px -2px rgba(24, 39, 75, 0.05);
    color: #FFF;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: -0.32px;
    cursor: pointer;
    transition: background 0.2s;
}

body.saas .try-free-banner-cta:hover {
    background: #14161B;
}

body.saas .try-free-banner-image {
    position: relative;
    flex-shrink: 0;
    width: 488px;
    height: auto;
    max-height: 180px;
    max-width: 50%;
    object-fit: contain;
    z-index: 1;
}

@media (max-width: 991px) {
body.saas .try-free-banner {
        padding: 32px;
        flex-direction: column;
        text-align: center;
    }
body.saas .try-free-banner-content {
        align-items: center;
        max-width: none;
    }
body.saas .try-free-banner-image {
        display: none;
    }
}

@media (max-width: 500px) {
body.saas .try-free-banner {
        margin-top: 40px;
        padding: 24px 20px;
        border-radius: 16px;
    }
body.saas .try-free-banner-title {
        font-size: 24px;
    }
body.saas .try-free-banner-desc {
        font-size: 14px;
    }
body.saas .try-free-banner-content {
        gap: 24px;
    }
body.saas .try-free-banner-text {
        gap: 12px;
    }
}

body.saas .subscription .pricing-controls {
    display:            flex;
    align-items:        center;
    justify-content:    center;
    margin:             40px auto 32px;
    position:           relative;
}

body.saas #pricing-page:not(.saas-pricing-page) .subscription .pricing-controls {
    margin: 48px auto 32px;
}

body.saas .subscription .pricing-controls--split {
    justify-content:    space-between;
    width:              100%;
}

body.saas .pricing-hero-header {
    display:            flex;
    flex-direction:     column;
    gap:                16px;
    text-align:         left;
    align-items:        flex-start;
}

body.saas .pricing-hero-header h1 {
    margin:             0;
    color:              #2E3A59;
    font-size:          36px;
    font-weight:        700;
    line-height:        46px;
}

body.saas .pricing-hero-header .pricing-subtitle {
    margin:             0;
    max-width:          none;
    color:              #2E3A59;
    font-size:          18px;
    font-weight:        500;
    line-height:        1.2;
}

body.saas .subscription .pricing-plans {
    width:              max-content;
    display:            flex;
    align-items:        center;
    justify-content:    center;
    padding:            8px;
    gap:                0;
    border-radius:      24px;
    border:             1px solid #F2F4F7;
    background:         #F2F4F7;
    overflow:           hidden;
}

body.saas .currency-switch {
    position:           absolute;
    right:              0;
    display:            none;
}

body.saas .currency-switch-btn {
    display:            flex;
    align-items:        center;
    justify-content:    center;
    gap:                12px;
    padding:            10px 16px;
    background:         #FFF;
    border:             1px solid #F2F4F7;
    border-radius:      16px;
    box-shadow:         0 3px 19.3px 0 rgba(137, 137, 137, 0.06);
    cursor:             pointer;
    font-family:        inherit;
    font-size:          16px;
    font-weight:        500;
    color:              #475467;
    line-height:        1.2;
    white-space:        nowrap;
}

body.saas .currency-switch-dropdown {
    display:            none;
    position:           absolute;
    top:                100%;
    right:              0;
    margin-top:         4px;
    padding:            8px;
    background:         #FFF;
    border:             1px solid #F2F4F7;
    border-radius:      16px;
    box-shadow:         0 4px 19px 3px rgba(137, 137, 137, 0.06);
    list-style:         none;
    min-width:          100%;
    z-index:            10;
}

body.saas .currency-switch.open .currency-switch-dropdown {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.saas .currency-switch.open .currency-switch-btn svg {
    transform:          rotate(180deg);
}

body.saas .currency-switch-dropdown li {
    padding:            8px;
    font-size:          16px;
    font-weight:        500;
    color:              #475467;
    cursor:             pointer;
    border-radius:      8px;
    white-space:        nowrap;
}

body.saas .currency-switch-dropdown li.active {
    background:         #F9FAFB;
}

body.saas .subscription .pricing-plans button {
    background:     transparent;
    color:          #667085;
    transition:     color 180ms ease;
    border-radius:  32px;
    text-transform: none;
    font-weight:    500;
    width:          114px;

    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;

    &.active {
        background:     #FFF;
        color:          #101828;
        font-weight:    600;
        box-shadow:     0 1px 2px 0 rgba(16, 24, 40, 0.05);

        &:hover {
            background: #FFF;
        }
    }
}

body.saas .pricing-container[data-billing].hidden {
    display: none;
}

body.saas .pricing-container.lifetime-card {
    justify-content: center;

    &::after {
        content: '';
        flex: 0 0 var(--plan-rec-width);
    }

    .price-cart-sub {
        box-shadow: 0 0 0 5px var(--purple-200, #D9D6FE);
        flex: 0 1 380px;
    }
}

body.saas .price-cart-sub-header {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.saas .price-cart-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.saas .price-cart-title .price-cart-sub-save {
    padding: 4px 8px;
    border-radius: 8px;
    background: #F0F9F5;
    color: #08854B;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
}

body.saas .find-my-plan-btn {
    box-shadow: 0 2px 24px -2px rgba(24, 39, 75, 0.05);
    border-radius: 16px;
    background: #000;
    padding: 14px 20px;

    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: -0.32px;
    z-index: 2;
    min-width: 230px;
}

body.saas .find-my-plan-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
}

body.saas .find-my-plan-trigger-prefix {
    opacity: 0.5;
    font-weight: 500;
}

body.saas .find-my-plan-btn.find-my-plan-link {
    background: transparent;
    color: #000;
    box-shadow: none;
    border-radius: 0;
    padding: 0 0 3px;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    border-bottom: 0.7px solid #000;
}

body.saas .find-my-plan-link-arrow {
    display: block;
    width: 16px;
    height: 16px;
}

body.saas .price-cart-sub {
    background: #fff;
    border: 1px solid #EAECF0;
    border-radius: 16px;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 0 0;
    min-width: 0;
    overflow: visible;
    box-shadow: 0 4.359px 32.694px 5.449px rgba(0, 0, 0, 0.05);
}

body.saas .price-cart-sub.recommended {
    border: none;
    box-shadow: 0 0 0 5px var(--purple-200, #D9D6FE);
    position: relative;
}

body.saas .price-cart-sub.recommended .recommended-tag {
    position: absolute;
    top: -5px;
    right: -5px;
    border-radius: 0 16px 0 8px;
    background: var(--purple-200, #D9D6FE);
    font-size: 12px;
    font-weight: 600;
    line-height: 120%;
    color: var(--gray-700, #2E3A59);
    padding: 4px 11px;
    text-transform: uppercase;
}

body.saas .price-cart-sub.recommended .recommended-msg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    border-radius: 0 16px 0 0;
    background: var(--purple-200, #D9D6FE);
    font-size: 13px;
    font-weight: 500;
    line-height: 120%;
    color: #000;
    padding: 4px 11px;
    text-align: center;
}

body.saas .price-cart-sub-name {
    font-size: 20px;
    font-weight: 600;
    color: #2C2D2E;
    line-height: 1.2;
}

body.saas .price-cart-sub-pricing {
    display: flex;
    align-items: flex-start;
    gap: 2px;
    margin: 4px 0 8px;
}

body.saas .price-cart-sub-pricing .currency {
    font-size: 14px;
    font-weight: 500;
    color: #101010;
    line-height: 1.2;
}

body.saas .price-cart-sub-pricing .amount {
    font-size: 28px;
    font-weight: 600;
    color: #101010;
    line-height: 1.2;
}

body.saas .price-cart-sub-pricing .old-price {
    font-size: 18px;
    font-weight: 400;
    color: #2E3A59;
    text-decoration: line-through;
    align-self: center;
    line-height: 1.2;
    margin-left: 6px;
    padding-top: 0;

    &:before {
        display: none;
    }
}

body.saas .price-cart-sub-pricing .period {
    font-size: 14px;
    font-weight: 400;
    color: #2E3A59;
    align-self: center;
    line-height: 1.2;
}

body.saas .price-cart-sub-billing {
    font-size: 14px;
    font-weight: 400;
    color: #2E3A59;
    padding-left: 12px;
    margin-top: 8px;
    line-height: 1.2;
}

body.saas .price-cart-sub-actions {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

body.saas .lifetime-card .price-cart-sub-actions {
    margin-bottom: 30px;
}

body.saas .btn-buy-now-outline {
    width: 100%;
    padding: 14px 20px;
    height: 48px;
    border: 1px solid #EAECF0;
    background: #FCFCFD;
    border-radius: 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #2E3A59;
    cursor: pointer;
    letter-spacing: -0.32px;
    line-height: 20px;
    transition: background 0.3s;
    margin: 0 0 4px;

    &:hover {
        background: #FFF;
    }
}

body.saas .btn-buy-now-outline.btn-buy-now-primary {
    background: #6D2FFD;
    color: #FFF;
    border: none;

    &:hover {
        background: #622AE4;
    }
}

body.saas .price-cart-sub-features {
    display: flex;
    flex-direction: column;
    gap: 22px;
    list-style: none;
    padding: 0;
    margin-top: 4px;
}

body.saas .price-cart-sub-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #101828;
    line-height: 1.2;
}

body.saas .price-cart-sub-features li.disabled {
    color: #667085;
}

body.saas .price-cart-sub-features li img {
    width: 16px;
    height: 16px;
}

body.saas .price-cart-mobile-features {
    background: linear-gradient(197deg, rgba(238, 236, 252, 0.48) 31.93%, #FCFCFD 92.68%);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 12px;
}

body.saas .price-cart-mobile-features-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #101828;
    line-height: 1.2;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: left;
    font-family: inherit;
    cursor: default;
}

body.saas .price-cart-mobile-features-header img {
    width: 15px;
    height: 15px;
}

body.saas .price-cart-mobile-features-chevron {
    display: none;
    margin-left: auto;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

body.saas .price-cart-mobile-features-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
}

body.saas .price-cart-mobile-features-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #101828;
    line-height: 1.2;
    position: relative;
}

body.saas .price-cart-mobile-features-list li.disabled {
    color: #667085;
}

body.saas .price-cart-mobile-features-list li img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

body.saas .price-cart-mobile-features-list .mobile-feature-name {
    min-width: 0;
}

body.saas .mobile-feature-info-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s;
    cursor: pointer;
}

body.saas .price-cart-mobile-features-list li:hover .mobile-feature-info-wrap {
    opacity: 1;
}

body.saas .mobile-feature-info-icon {
    display: block;
    flex-shrink: 0;
}

body.saas .mobile-feature-tooltip {
    position: absolute;
    left: 50%;
    top: calc(100% + 10px);
    transform: translateX(-50%);
    background: #fff;
    color: #2e3a59;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #eaecf0;
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.1);
    width: 230px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 200;
    white-space: normal;
}

body.saas .mobile-feature-tooltip::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-bottom-color: #eaecf0;
}

body.saas .mobile-feature-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: calc(100% - 1px);
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-bottom-color: #fff;
}

body.saas .mobile-feature-info-wrap:hover .mobile-feature-tooltip {
    opacity: 1;
}

body.saas .compare-plans-link {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 16px;
    font-size: 14px;
    font-weight: 400;
    color: #475467;
    text-decoration: none;
    line-height: 1.2;
}

body.saas .compare-plans-link:hover {
    color: #101828;
    text-decoration: underline;
}

body.saas .feature-with-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

body.saas .price-cart-feature-badge {
    padding: 2px 8px;
    border-radius: 6px;
    background: #F2F4F7;
    color: #475467;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

body.saas .price-cart-sub-features li b,
body.saas .price-cart-sub-features li strong {
    font-weight: 700;
    color: inherit;
}

body.saas .price-cart-sub-features li > img[src*="close.svg"],
body.saas .price-cart-sub-features li .feature-row > img[src*="close.svg"],
body.saas .price-cart-mobile-features-list li > img[src*="close.svg"] {
    filter: brightness(0) saturate(100%) invert(48%) sepia(11%) saturate(496%) hue-rotate(174deg) brightness(98%) contrast(83%);
    width: 16px;
    height: 9px;
}

body.saas /* Non-SaaS pricing hero: check icons → #039855 (green) */
#pricing-page:not(.saas-pricing-page) .subscription .price-cart-sub-features li > img[src*="check.svg"] {
    filter: brightness(0) saturate(100%) invert(37%) sepia(74%) saturate(1716%) hue-rotate(134deg) brightness(94%) contrast(98%);
}

body.saas .subscription .pricing-container {
    gap: 20px;
}

@media (max-width: 1400px) {
body.saas .price-cart {
        flex: 0 0 260px;
    }
body.saas .detailed-price-info .comparison-header-plan {
        padding: 32px 12px;
    }
body.saas .detailed-price-info .comparison-feature-cell {
        padding: 0 12px;
    }
body.saas .saas-pricing-page .detailed-price-info tbody td:first-child {
        min-width: initial;
    }
body.saas .saas-pricing-page .detailed-price-info th {
        padding-inline: 11px;
    }
body.saas .saas-pricing-page .detailed-price-info table {
        padding-top: 7px;
    }
}

@media (max-width: 1200px) and (min-width: 769px) {
body.saas .detailed-price-info .comparison-header {
        position: static;
        min-width: 1100px;
    }
body.saas .detailed-price-info .comparison-accordion {
        min-width: 1100px;
    }
body.saas .detailed-price-info .container {
        overflow-x: auto;
    }
}

@media (max-width: 1200px) {
body.saas .price-cart {
        flex: 0 0 289px;
    }
body.saas .saas-pricing-page .price-cart {
        flex: 0 0 382px;
    }
body.saas .saas-pricing-page .detailed-price-info tbody td,
body.saas .saas-pricing-page .detailed-price-info th {
        max-width: initial;
    }
body.saas .saas-pricing-page .detailed-price-info tbody td:first-child {
        min-width: 275px;
    }
body.saas .saas-pricing-page .detailed-price-info th {
        padding-inline: 20px;
    }
body.saas .subscription .pricing-container {
        flex-wrap: wrap;
    }
body.saas .pricing-container.lifetime-card {
        flex-direction: column;
        align-items: center;

        &::after {
            display: none;
        }

        .price-cart-sub {
            order: 1;
            flex: 0 0 auto;
            width: 380px;
        }
    }
body.saas .price-cart-sub {
        flex: 0 0 calc(50% - 10px);
    }
}

@media (max-width: 768px) {
body.saas #pricing-page:has(.subscription) .detailed-price-info {
        margin-top: 0;
    }
body.saas .pricing-container {
        flex-direction: column;
    }
body.saas .pricing-container.lifetime-card {
        .price-cart-sub {
            width: 100%;
        }
    }
body.saas .price-cart-sub {
        flex: 0 0 100%;
        padding: 24px 20px;
        gap: 24px;
    }
body.saas .price-cart-sub-pricing {
        margin: -8px 0 0;
    }
body.saas .price-cart-sub-features {
        gap: 18px;
    }
body.saas .pricing-hero-header {
        text-align: center;
        align-items: center;
    }
body.saas .price-cart-mobile-features {
        padding: 12px;
        border-radius: 9px;
        margin-top: 0;
    }
body.saas .price-cart-mobile-features-header {
        cursor: pointer;
    }
body.saas .price-cart-mobile-features-chevron {
        display: block;
    }
body.saas .price-cart-mobile-features:not(.is-open) {
        background: linear-gradient(175deg, rgba(238, 236, 252, 0.48) 30.47%, #FCFCFD 136.53%);
    }
body.saas .price-cart-mobile-features:not(.is-open) .price-cart-mobile-features-list {
        display: none;
    }
body.saas .price-cart-mobile-features.is-open .price-cart-mobile-features-chevron {
        transform: rotate(180deg);
    }
body.saas .subscription .pricing-controls--split {
        flex-direction: column;
        gap: 16px;
    }
body.saas .find-my-plan-btn.find-my-plan-link {
        padding: 0;
    }
body.saas .subscription .pricing-container {
        padding-inline: 16px;
    }
body.saas .currency-switch {
        position: static;
    }
body.saas .detailed-price-info {
        padding: 64px 0;
    }
body.saas .detailed-price-info .section-header {
        margin-bottom: 40px;
        padding-inline: 16px;
    }
body.saas .detailed-price-info .section-header .section-heading {
        font-size: 32px;
        font-weight: 700;
        text-transform: uppercase;
        color: #2E3A59;
        line-height: 1.2;
        margin-bottom: 24px;
    }
body.saas .detailed-price-info .section-header .section-description {
        font-size: 18px;
        font-weight: 400;
        color: #475467;
        line-height: 1.2;
    }
body.saas .detailed-price-info .container {
        overflow-x: visible;
        padding-inline: 16px;
    }
body.saas /* Hide desktop comparison header on mobile */
    .detailed-price-info .comparison-header {
        display: none;
    }
body.saas /* Mobile sticky plan names bar */
    .comparison-mobile-plans {
        display: flex;
        background: #fff;
        border: 1px solid #F2F4F7;
        border-radius: 8px;
        height: 59px;
        padding: 4px 0;
        align-items: flex-end;
        position: sticky;
        top: 0;
        z-index: 10;
        transition: top 250ms ease-in-out;
        margin-bottom: 16px;
    }
body.saas .scroll-up .comparison-mobile-plans {
        top: 5rem;
    }
body.saas .comparison-mobile-plan {
        flex: 1 1 0%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px 8px;
        border-left: 1px solid #F2F4F7;
        font-size: 14px;
        font-weight: 600;
        color: #2C2D2E;
        line-height: 1.2;
    }
body.saas .comparison-mobile-plan:first-child {
        border-left: none;
    }
body.saas /* Mobile accordion overrides */
    .detailed-price-info .comparison-accordion {
        min-width: unset;
        padding: 12px;
        border-radius: 16px;
    }
body.saas /* Mobile feature rows: stack vertically */
    .detailed-price-info .comparison-feature-row {
        flex-direction: column;
    }
body.saas .detailed-price-info .comparison-feature-name {
        width: 100%;
        min-width: unset;
    }
body.saas .detailed-price-info .comparison-feature-cells {
        width: 100%;
        border-left: 1px solid #F2F4F7;
        border-right: 1px solid #F2F4F7;
    }
body.saas .detailed-price-info .comparison-feature-cell {
        min-height: 64px;
        padding: 8px;
    }
body.saas .detailed-price-info .comparison-feature-text {
        font-size: 12px;
        line-height: 1.2;
    }
}

@media (max-width: 500px) {
body.saas .btn-buy-now-outline {
        padding: 14px;
    }
body.saas .pricing-info {
        margin-top: 20px;
    }
}

body.saas /* SaaS pricing cards — Figma 5940:20820 */
.saas-pricing-page .price-cart-sub {
    background: #fff;
    border: 1px solid #EAECF0;
    border-radius: 16px;
    padding: 40px 20px 16px;
    gap: 32px;
    box-shadow: none;
    overflow: hidden;
}

body.saas .saas-pricing-page .price-cart-sub-header {
    gap: 20px;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-name {
    font-size: 20px;
    font-weight: 600;
    color: #2C2D2E;
    line-height: 1.2;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-pricing {
    margin: 0;
    gap: 2px;
    align-items: flex-start;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-pricing .currency {
    font-size: 14px;
    font-weight: 500;
    color: #101010;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-pricing .amount {
    font-size: 32px;
    font-weight: 600;
    color: #101010;
    margin-left: 2px;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-pricing .period {
    font-size: 14px;
    font-weight: 400;
    color: #2E3A59;
    margin-left: 6px;
    align-self: center;
}

body.saas .saas-pricing-page .price-cart-sub-header .price-cart-sub-description {
    font-size: 14px;
    font-weight: 400;
    color: #1D2939;
    line-height: 1.4;
    padding: 0;
    margin: 0;
    height: auto;
}

body.saas .saas-pricing-page .price-cart-sub.recommended {
    border: 1px solid #EAECF0;
    box-shadow: 0 0 0 8px #EAECF0;
    position: relative;
}

body.saas .saas-pricing-page .price-cart-sub.recommended .recommended-tag {
    background: #EBE9FE;
    color: #6D2FFD;
    font-size: 10px;
    font-weight: 800;
    line-height: 12px;
    padding: 4px 11px;
    border-radius: 8px;
    text-transform: uppercase;
    position: relative;
    top: 0;
    right: 0;
}

body.saas .saas-pricing-page .price-cart-sub-actions {
    gap: 20px;
}

body.saas .saas-pricing-page .price-cart-sub-features-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 12px;
}

body.saas .saas-pricing-page .price-cart-sub-features-label {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: #101828;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

body.saas .saas-pricing-page .price-cart-sub-features-group .price-cart-sub-features {
    margin-top: 0;
    gap: 18px;
}

body.saas .saas-pricing-page .price-cart-sub-features li {
    font-size: 14px;
    font-weight: 500;
    color: #101828;
    line-height: 1.2;
}

body.saas .saas-pricing-page .price-cart-sub-features li.disabled {
    color: #667085;
}

body.saas /* SaaS features: check icons → #039855 (green) */
.saas-pricing-page .price-cart-sub-features-group:not(.price-cart-tenants-features) .price-cart-sub-features li > img[src*="check.svg"],
body.saas .saas-pricing-page .price-cart-sub-features-group:not(.price-cart-tenants-features) .price-cart-sub-features li .feature-row > img[src*="check.svg"] {
    filter: brightness(0) saturate(100%) invert(37%) sepia(74%) saturate(1716%) hue-rotate(134deg) brightness(94%) contrast(98%);
}

body.saas /* Tenants' features: check icons → #101828 (dark) */
.saas-pricing-page .price-cart-tenants-features .price-cart-sub-features li > img[src*="check.svg"],
body.saas .saas-pricing-page .price-cart-tenants-features .price-cart-sub-features li .feature-row > img[src*="check.svg"] {
    filter: brightness(0) saturate(100%) invert(8%) sepia(15%) saturate(2547%) hue-rotate(192deg) brightness(96%) contrast(96%);
}

body.saas .saas-pricing-page .price-cart-tenants-features {
    background: #F9FAFB;
    border-radius: 9px;
    padding: 11px 10px;
    margin: 0 -8px;
    gap: 16px;
}

body.saas .saas-pricing-page .btn-buy-now-outline {
    background: #FCFCFD;
    border: 1px solid #EAECF0;
    border-radius: 16px;
    padding: 14px 20px;
    color: #2E3A59;
    font-weight: 600;
    margin: 0;
}

body.saas .saas-pricing-page .btn-buy-now-outline.btn-buy-now-primary {
    background: #000;
    color: #FFF;
    border: 1px solid #000;
    box-shadow: 0 2px 24px -2px rgba(24, 39, 75, 0.05);
}

body.saas .saas-pricing-page .btn-buy-now-outline.btn-buy-now-primary:hover {
    background: #14161B;
    border-color: #14161B;
}

body.saas /* Find My Plan card */
.saas-pricing-page .find-my-plan-card {
    background: linear-gradient(197.22deg, #F2F4F7 31.93%, #EEECFC 92.68%);
    border: 1px solid #F2F4F7;
    border-radius: 16px;
    padding: 40px 12px;
    gap: 24px;
    overflow: hidden;
    position: relative;
    align-self: flex-start;
}

body.saas .saas-pricing-page .find-my-plan-card .ellipse {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

body.saas .saas-pricing-page .find-my-plan-card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

body.saas .saas-pricing-page .find-my-plan-card-title {
    color: #2E3A59;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0;
}

body.saas .saas-pricing-page .find-my-plan-card-desc {
    color: #475467;
    font-size: 14px;
    font-weight: 400;
    line-height: 19px;
    margin: 0;
}

body.saas .saas-pricing-page .find-my-plan-card .find-my-plan-btn {
    background: #FFFFFF;
    border: 0;
    border-radius: 16px;
    padding: 14px 20px;
    color: #2E3A59;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.32px;
    line-height: 20px;
    width: 100%;
    cursor: pointer;
    transition: background 0.2s;
}

body.saas .saas-pricing-page .find-my-plan-card .find-my-plan-btn:hover {
    background: #F9FAFB;
}

@media (max-width: 1200px) {
body.saas .saas-pricing-page .find-my-plan-card {
        order: 99;
    }
}

@media (min-width: 501px) {
body.saas .saas-pricing-page .price-cart-tenants-features .price-cart-mobile-features-list {
        display: flex;
    }
body.saas .saas-pricing-page .price-cart-tenants-features .price-cart-mobile-features-chevron {
        display: none;
    }
body.saas .saas-pricing-page .price-cart-tenants-features .price-cart-mobile-features-header {
        cursor: default;
        pointer-events: none;
        background: transparent;
        border: 0;
        padding: 0;
        color: inherit;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        width: auto;
    }
}

@media (max-width: 500px) {
body.saas .saas-pricing-page .price-cart-tenants-features {
        margin: 0;
    }
body.saas .saas-pricing-page .price-cart-tenants-features .price-cart-mobile-features-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 8px;
        background: transparent;
        border: 0;
        padding: 0;
        color: #101828;
        font-size: 14px;
        font-weight: 600;
    }
}

@media (max-width: 360px) {
body.saas .find-my-plan-trigger {
        flex-direction: column;
    }
}

body.saas .price-cart-sub-features .premium-features-link {
    background: transparent;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    text-decoration: underline dashed;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    cursor: pointer;
}

body.saas /* ── New Figma card design ── */

.price-cart-section-divider {
    border: none;
    border-top: 1px solid #EAECF0;
    margin: 0;
}

body.saas .price-cart-top-features {
    list-style: none;
    padding: 16px 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.saas .price-cart-top-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #101828;
    line-height: 1.2;
}

body.saas .price-cart-top-features li.disabled {
    color: #667085;
}

body.saas .price-cart-top-features li svg {
    flex-shrink: 0;
}

body.saas .price-cart-top-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 4px;
    background: #F9FBFB;
    border: 0.47px solid #E5E5E5;
    border-radius: 3.76px;
    box-shadow: 0 0.6px 1.2px 0 rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

body.saas .price-cart-top-features li img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

body.saas .price-cart-top-feature-link {
    color: #101828;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
    line-height: 1.2;
}

body.saas .price-cart-top-feature-link--dotted {
    text-decoration-style: dotted;
}

body.saas .price-cart-adv-label {
    font-size: 14px;
    font-weight: 400;
    color: #2C2D2E;
    margin: 0;
    line-height: 1.2;
}

body.saas .price-cart-extra-features {
    display: flex;
    flex-direction: column;
    gap: 22px;
    list-style: none;
    padding: 0;
    margin: 6px 0 4px;
}

body.saas .price-cart-extra-features[hidden] {
    display: none;
}

body.saas .price-cart-extra-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #101828;
    line-height: 1.2;
}

body.saas .price-cart-extra-features li.disabled {
    color: #667085;
}

body.saas .price-cart-extra-features li img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

body.saas /* Apply same icon filters to extra features */
#pricing-page:not(.saas-pricing-page) .subscription .price-cart-extra-features li > img[src*="check.svg"] {
    filter: brightness(0) saturate(100%) invert(37%) sepia(74%) saturate(1716%) hue-rotate(134deg) brightness(94%) contrast(98%);
}

body.saas .price-cart-extra-features li > img[src*="close.svg"] {
    filter: brightness(0) saturate(100%) invert(48%) sepia(11%) saturate(496%) hue-rotate(174deg) brightness(98%) contrast(83%);
    width: 16px;
    height: 9px;
}

body.saas .price-cart-show-more-btn {
    background: transparent;
    border: 0;
    padding: 0;
    margin-top: 4px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #6D2FFD;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    align-self: flex-start;
}

body.saas .price-cart-show-more-btn:hover {
    color: #5921D6;
}

body.saas .price-cart-show-more-btn[hidden] {
    display: none;
}

body.saas .price-cart-compare-link {
    color: #6D2FFD;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.2;
    align-self: flex-start;
}

body.saas .price-cart-compare-link:hover {
    color: #5921D6;
    text-decoration: underline;
}

body.saas .price-cart-compare-link[hidden] {
    display: none;
}

body.saas /* Premium gradient background */
.subscription .price-cart-sub.recommended {
    background: linear-gradient(195deg, #FFF 40.7%, rgba(238, 236, 252, 0.70) 118.63%);
}


/* We link to our own checkout page rather than opening Paddle inline, so the buy action is an <a>
   where Booknetic uses a <button>. */
body.saas a.btn-buy-now-outline {
    /* Booknetic's <button> inherits border-box from its reset; this repo's reset does not cover <a>,
       so width:100% + 20px side padding would overflow the card by 40px. */
    box-sizing:      border-box;
    display:         flex;
    align-items:     center;
    justify-content: center;
    text-decoration: none;
}

/* Booknetic sizes cards at 50% because its page carries four: three plans plus a "Find my Plan"
   recommendation card. FS Poster SaaS has three plans and no recommendation card yet, so the row is
   fitted to three. Everything else about the card — padding, radius, type, icons — is Booknetic's. */
body.saas .pricing-container {
    flex-wrap: wrap;
}

@media screen and (min-width: 62rem) {
    /* flex-basis 0 rather than a percentage: three cards plus two gaps must divide the row exactly,
       and percentage math rounds up just enough to wrap the third. */
    body.saas .pricing-container .price-cart-sub {
        flex:      1 1 0;
        min-width: 0;
        max-width: none;
    }
}

/* Descriptions vary by a line, which would stagger the CTAs across cards. */
body.saas .price-cart-sub-description {
    min-height: 3rem;
}

/* From booknetic.com-new resources/css/base/utilities.css — the comparison section's header relies on
   these, and this repo has no equivalent. */
body.saas .detailed-price-info .section-header {
    max-width:     775px;
    margin-inline: auto;
    text-align:    center;
}

body.saas .detailed-price-info .section-heading {
    margin-bottom: 1.25rem;
    color:         var(--gray-700);
    font-size:     var(--font-size-6);
    font-weight:   var(--font-weight-semi-bold);
    line-height:   var(--line-height-6);
    text-align:    center;
}

body.saas .detailed-price-info .section-description {
    color:       var(--gray-500);
    font-size:   var(--font-size-2);
    line-height: var(--line-height-2);
    text-align:  center;
}

/* Sub-headings inside the tenant categories (per-network groups). */
body.saas .comparison-subgroup-title {
    padding:        1rem 1.25rem .5rem;
    color:          var(--gray-650);
    font-size:      var(--font-size-1);
    font-weight:    var(--font-weight-bold);
    letter-spacing: .02em;
}
