:root {
    --Gradient-Linear-84: linear-gradient(90deg, #7873F5 0%, #EC77AB 100%);
}

/* =============================================
   Layout Override
   ============================================= */

.py-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

/* =============================================
   Hero
   ============================================= */

.hero {
    position: relative;
    overflow: hidden;
    min-height: 600px;
    background-color: #fff;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(/images/hero-section/pricing.png);
    background-size: contain;
    background-position: center 220%;
    background-repeat: no-repeat;
    z-index: 1;
}

.overlay-hero {
    z-index: 3;
}

/* =============================================
   Typography
   ============================================= */

.pricing-title {
    color: #414651;
}

.pricing-subtitle {
    color: #717680;
    font-size: 23px;
}

.gradient-text-ai {
    background: linear-gradient(90deg, #7873F5 0%, #EC77AB 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#powered-by-ai {
    background:
        linear-gradient(#FAFAFF, #FAFAFF) padding-box,
        linear-gradient(90deg, #7873F5 0%, #EC77AB 100%) border-box;
    border: 1px solid transparent;
    border-radius: 100px;
    padding: 8px 16px 8px 12px;
}

#powered-by-ai span {
    color: #5925DC;
}

/* =============================================
   Badges
   ============================================= */

.badge-recommended {
    gap: 8px;
    border-radius: 100px;
    padding: 4px 8px;
    background: #EFF4FF;
    border: 1px solid #D5D9EB;
}

.recommended-text {
    color: #004EEB;
}

.bullet {
    color: #84ADFF;
}

/* =============================================
   Pricing Cards
   ============================================= */

.pricing-card {
    min-width: 400px;
    min-height: 471px;
    border-radius: 40px;
    background: #F5F5F5;
    border: 1px solid #D5D7DA;
}

.container-active {
    border: 2px solid #2970FF;
    box-shadow: 0px 4px 50px 0px #8170F24D;
}

.pricing-card-header {
    gap: 14px;
    border-radius: 40px;
    padding: 20px;
    background: #FFFFFF;
    border: .5px solid #D2D6DB;
}

.pricing-card-header-wrapper {
    min-height: 173px;
    opacity: 0.8;
    gap: 20px;
    border-radius: 20px;
    padding: 20px;
}

.bg-gray {
    background: #E9EAEB;
}

.bg-active-pricing {
    background: #D1E0FF;
}

.pricing-card-body {
    padding: 20px;
}

.check-item-text {
    color: #717680;
}

/* =============================================
   Star Decorators
   ============================================= */

.star-top {
    top: -65px;
    z-index: 2;
    left: 48%;
}

.star-bottom {
    bottom: -75px;
    z-index: 2;
    left: 48%;
}

.star-left {
    top: 150px;
    left: -65px;
    z-index: 4;
}

.star-bottom-right {
    z-index: 4;
    right: -20px;
    bottom: -70px;
}

.star-top-left {
    top: -70px;
    left: 44px;
    z-index: 4;
}

.star-right {
    z-index: 4;
    top: 190px;
    right: -70px;
}

/* =============================================
   Buttons
   ============================================= */

.btn-free-trial {
    gap: 10px;
    border-radius: 4px;
    padding: 8px 16px;
    border: none;
    background: #004EEB;
    box-shadow: 0px 4px 12px 0px #004EEB66;
    color: #fff;
}

.btn-free-trial:hover {
    background: #0041d6;
    box-shadow: 0px 6px 16px 0px #0041d666;
}

.btn-pricing {
    width: 200px;
    gap: 10px;
    border-radius: 12px;
    padding: 12px 16px;
}

.btn-purchase-primary {
    background: #404968;
    border: none;
    color: #FFFFFF;
}

.btn-purchase-primary:hover {
    background: #2e3550;
}

.btn-purchase {
    background: #004EEB;
    border: none;
    color: #FFFFFF;
}

.btn-purchase:hover {
    background: #0041d6;
}

.btn-contact {
    width: 200px;
    gap: 10px;
    border-radius: 12px;
    padding: 12px 16px;
    background: #404968;
    color: #fff;
    border: none;
}

.btn-contact:hover {
    background: #2e3550;
}

/* =============================================
   Custom Payment Section
   ============================================= */

.custom-payment-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('/images/hero-section/bg-hero.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.7;
    z-index: 1;
}

.custom-payment-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('/images/hero-section/stripe.webp');
    background-size: cover;
    background-position: 20%;
    background-repeat: no-repeat;
    opacity: 0.2;
    z-index: 2;
}

/* =============================================
   Enterprise Section
   ============================================= */

.enterprise-content {
    min-width: 680px;
    min-height: 437px;
    border-radius: 40px;
    background: linear-gradient(#FAFAFF, #FAFAFF) padding-box,
                linear-gradient(90deg, #7873F5 0%, #EC77AB 100%) border-box;
    border: 2px solid transparent;
    z-index: 3;
}

.enterprise-content-header {
    min-width: 630px;
    gap: 14px;
    border-radius: 40px;
    padding: 20px;
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-color: #D2D6DB;
}

.enterprise-header {
    background:
        conic-gradient(from -16.34deg at 90.51% 50.29%, #F1C6DD 0deg, #C1A4E8 50.06deg, #B8E2FB 85.94deg, #F2EFE8 134.97deg, #F9DCDD 172.05deg, #E1C1E5 200.75deg, #BDAFE3 264.67deg, #C7EDEB 280.36deg, #E7F5EB 298.82deg, #F2F0E7 270.72deg, #DDC1E1 360deg),
        linear-gradient(0deg, #E9EAEB, #E9EAEB);
    min-width: 590px;
    min-height: 173px;
    opacity: 0.8;
    gap: 20px;
    border-radius: 20px;
    padding: 20px;
}

.enterprise-content-body-inner {
    padding: 20px;
}

.building-pricing {
    right: 30px;
}

/* =============================================
   Skip Complexity Section
   ============================================= */

.complexity-description {
    font-size: 19px;
    color: #717680;
    max-width: 500px;
    margin: auto;
}

/* =============================================
   Responsive
   ============================================= */

@media (min-width: 1921px) {
    .hero {
        min-height: 650px;
    }

    .hero::before {
        background-position: center 265%;
    }
}

@media (min-width: 993px) and (max-width: 1146px) {
    .hero-content {
        margin-top: 130px !important;
    }
}

@media (max-width: 1600px) {
    .hero::before {
        background-position: center 135%;
    }
}

@media (max-width: 1440px) {
    .hero-content {
        margin-top: 130px !important;
    }

    .hero::before {
        background-position: center 122%;
    }
}

@media (max-width: 1024px) {
    .pricing-table-container img {
        width: 100%;
    }

    h2 {
        font-size: 30px !important;
    }

    .title1-sophia {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    .h1-nohemi {
        font-size: 28px;
    }

    .hero-texts {
        max-width: 400px;
    }
}

@media (max-width: 500px) {
    /* Hero */
    .hero {
        min-height: unset;
    }

    .hero::before {
        background-image: unset;
    }

    .hero-content {
        margin-top: 50px !important;
        margin-bottom: 50px !important;
    }

    .pricing-subtitle {
        font-size: 16px;
    }

    /* Pricing cards section */
    .container-custom {
        flex-direction: column;
        align-items: stretch !important;
        padding-left: 16px;
        padding-right: 16px;
    }

    .pricing-card {
        min-width: unset;
        width: 100%;
    }

    .pricing-card.mb-5 {
        margin-bottom: 0 !important;
    }

    /* Card typography */
    .h4-nohemi {
        font-size: 20px;
    }

    .h3-sophia {
        font-size: 24px;
    }

    .title1-sophia {
        font-size: 14px !important;
    }

    .pricing-card-header-wrapper {
        min-height: unset;
    }

    .btn-pricing {
        width: 100%;
    }

    /* Enterprise / Direct Hire section */
    .custom-payment-section {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .enterprise-content {
        width: 100%;
        min-width: unset;
        min-height: unset;
    }

    .enterprise-content-header {
        min-width: unset;
        width: 100%;
        padding: 16px;
    }

    .enterprise-header {
        min-width: unset;
        width: 100%;
        min-height: unset;
        padding: 16px;
    }

    .enterprise-content-body {
        margin-top: 12px !important;
    }

    .enterprise-content-body-inner {
        flex-direction: column;
        gap: 25px !important;
        padding: 12px;
    }

    .building-pricing {
        display: none;
    }

    .star-left,
    .star-bottom-right,
    .star-top-left,
    .star-right {
        display: none;
    }

    /* Skip complexity section */
    .skip-complexity-section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .pricing-title {
        font-size: 22px;
    }

    .complexity-description {
        font-size: 16px !important;
        max-width: 410px;
    }

    .pricing-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 30px;
        margin: 0 -16px;
        /* Fade-out on the right edge as a scroll hint */
        -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
        mask-image: linear-gradient(to right, black 85%, transparent 100%);
        margin-top: 0 !important;
    }

    .pricing-table-container img {
        /* width: auto; */
        min-width: 800px;
        display: block;
    }
}
