

/* BHAVYA_DYNAMIC_CHECKOUT_V1 */

.ma-dynamic-pricing-panel {
    border:1px solid rgba(37,99,235,.16);
    background:rgba(37,99,235,.035);
    border-radius:14px;
    padding:14px;
    margin-bottom:17px;
}

.ma-dynamic-field + .ma-dynamic-field {
    margin-top:13px;
}

.ma-dynamic-field label {
    display:block;
    color:#c7d2e3;
    font-size:11px;
    font-weight:850;
    margin-bottom:7px;
}

.ma-optional {
    color:#718096;
    font-weight:650;
}

.ma-dynamic-field select,
.ma-dynamic-field input {
    width:100%;
    box-sizing:border-box;
    min-height:42px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:10px;
    background:rgba(7,15,28,.78);
    color:#eef4ff;
    padding:10px 12px;
    outline:none;
}

.ma-dynamic-field select:focus,
.ma-dynamic-field input:focus {
    border-color:rgba(37,99,235,.72);
    box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

.ma-coupon-line {
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}

.ma-coupon-line button {
    min-width:78px;
    border:0;
    border-radius:10px;
    padding:0 14px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    color:#fff;
    font-weight:850;
    cursor:pointer;
}

.ma-coupon-line button:disabled,
.ma-dynamic-field select:disabled {
    opacity:.55;
    cursor:wait;
}

.ma-dynamic-meta,
.ma-dynamic-message {
    margin-top:6px;
    color:#7f8da3;
    font-size:10px;
    line-height:1.5;
}

.ma-dynamic-message.success {
    color:#69f0ae;
}

.ma-dynamic-message.warning {
    color:#fbbf24;
}

.ma-offer-message {
    margin-top:12px;
    padding:10px 11px;
    border:1px solid rgba(0,230,118,.18);
    border-radius:10px;
    background:rgba(0,230,118,.055);
    color:#8ef0bb;
    font-size:10px;
    line-height:1.55;
    font-weight:750;
}

@media (max-width:700px) {

    .ma-coupon-line {
        grid-template-columns:1fr 82px;
    }
}



/* =========================================================
   BHAVYA_HOME_PUBLIC_CMS_V1
========================================================= */

.home-cms-section {
    max-width:1200px;
    margin:64px auto;
    padding:0 20px;
}

.home-cms-heading {
    text-align:center;
    max-width:820px;
    margin:0 auto 28px;
}

.home-cms-kicker {
    display:inline-block;
    color:#67e8f9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
    margin-bottom:8px;
}

.home-cms-heading h2 {
    margin:0;
    color:#f8fafc;
    font-size:clamp(25px,4vw,36px);
    line-height:1.15;
    font-weight:900;
}

.home-cms-heading p {
    margin:12px auto 0;
    color:#94a3b8;
    line-height:1.75;
    font-size:13px;
}


/* ---------------- CAMPAIGN SLIDER ---------------- */

.home-cms-slider {
    position:relative;
    overflow:hidden;
    border-radius:24px;
}

.home-cms-campaign-track {
    display:flex;
    transition:
        transform .65s
        cubic-bezier(.22,.61,.36,1);
}

.home-cms-campaign {
    min-width:100%;
    display:grid;
    grid-template-columns:
        minmax(0,1.15fr)
        minmax(280px,.85fr);
    gap:30px;
    align-items:center;
    padding:38px;
    border-radius:24px;
    border:
        1px solid
        rgba(148,163,184,.18);
    background:
        radial-gradient(
            circle at top right,
            rgba(0,229,255,.13),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(12,17,31,.98),
            rgba(21,27,46,.96)
        );
    box-shadow:
        0 20px 55px
        rgba(0,0,0,.35);
}

.home-cms-campaign.theme-success {
    background:
        radial-gradient(
            circle at top right,
            rgba(0,230,118,.15),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(9,22,20,.98),
            rgba(18,31,30,.96)
        );
}

.home-cms-campaign.theme-warning {
    background:
        radial-gradient(
            circle at top right,
            rgba(255,193,7,.16),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(27,22,11,.98),
            rgba(35,29,19,.96)
        );
}

.home-cms-campaign.theme-premium {
    background:
        radial-gradient(
            circle at top right,
            rgba(139,92,246,.22),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(19,16,36,.98),
            rgba(27,23,50,.96)
        );
}

.home-cms-badge {
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:7px 13px;
    border-radius:999px;
    border:
        1px solid
        rgba(103,232,249,.25);
    background:
        rgba(34,211,238,.08);
    color:#67e8f9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.home-cms-campaign h3 {
    margin:14px 0 10px;
    color:#fff;
    font-size:
        clamp(26px,4vw,42px);
    line-height:1.12;
}

.home-cms-campaign-subtitle {
    color:#cbd5e1;
    font-weight:700;
    font-size:14px;
    margin-bottom:10px;
}

.home-cms-campaign-body {
    color:#9ca3af;
    line-height:1.8;
    font-size:13px;
    white-space:pre-line;
}

.home-cms-validity {
    margin-top:14px;
    color:#7dd3fc;
    font-size:10px;
    font-weight:700;
}

.home-cms-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:20px;
    padding:12px 20px;
    border-radius:11px;
    text-decoration:none;
    color:#041014;
    background:
        linear-gradient(
            135deg,
            #67e8f9,
            #22d3ee
        );
    font-size:12px;
    font-weight:900;
    box-shadow:
        0 8px 25px
        rgba(34,211,238,.18);
}

.home-cms-campaign-media {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:230px;
}

.home-cms-campaign-media img {
    max-width:100%;
    max-height:320px;
    object-fit:contain;
    border-radius:18px;
    box-shadow:
        0 18px 45px
        rgba(0,0,0,.35);
}

.home-cms-dots {
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:14px;
}

.home-cms-dot {
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#475569;
    cursor:pointer;
    transition:.25s ease;
}

.home-cms-dot.active {
    width:25px;
    background:#22d3ee;
}


/* ---------------- PROJECT UPDATES ---------------- */

.home-cms-updates-grid {
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(260px,1fr)
        );
    gap:18px;
}

.home-cms-update-card {
    overflow:hidden;
    border:
        1px solid
        rgba(148,163,184,.14);
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            rgba(18,24,40,.94),
            rgba(11,17,31,.96)
        );
    box-shadow:
        0 14px 40px
        rgba(0,0,0,.20);
}

.home-cms-update-image {
    width:100%;
    height:190px;
    object-fit:cover;
    display:block;
}

.home-cms-update-content {
    padding:20px;
}

.home-cms-update-card h3 {
    margin:9px 0;
    color:#f8fafc;
    font-size:18px;
}

.home-cms-update-card p {
    margin:0;
    color:#94a3b8;
    font-size:12px;
    line-height:1.75;
    white-space:pre-line;
}


/* ---------------- FAQ ---------------- */

.home-cms-faq-list {
    max-width:900px;
    margin:0 auto;
    display:grid;
    gap:10px;
}

.home-cms-faq-item {
    border:
        1px solid
        rgba(148,163,184,.14);
    border-radius:14px;
    background:
        rgba(255,255,255,.025);
    overflow:hidden;
}

.home-cms-faq-item summary {
    cursor:pointer;
    list-style:none;
    padding:17px 19px;
    color:#e2e8f0;
    font-size:13px;
    font-weight:850;
}

.home-cms-faq-item summary::-webkit-details-marker {
    display:none;
}

.home-cms-faq-item summary::after {
    content:"+";
    float:right;
    color:#67e8f9;
    font-size:18px;
}

.home-cms-faq-item[open]
summary::after {
    content:"−";
}

.home-cms-faq-answer {
    padding:
        0 19px
        18px;
    color:#94a3b8;
    font-size:12px;
    line-height:1.8;
    white-space:pre-line;
}


body.light .home-cms-heading h2,
body.light .home-cms-campaign h3,
body.light .home-cms-update-card h3,
body.light .home-cms-faq-item summary {
    color:#0f172a;
}


@media (max-width:760px) {

    .home-cms-section {
        margin:48px auto;
        padding:0 14px;
    }

    .home-cms-campaign {
        grid-template-columns:1fr;
        padding:25px 20px;
    }

    .home-cms-campaign-media {
        min-height:0;
    }

    .home-cms-campaign-media img {
        max-height:260px;
    }
}




/* =========================================================
   BHAVYA_HOME_DYNAMIC_PLANS_V1
========================================================= */

.home-plan-section {
    max-width:1200px;
    margin:70px auto;
    padding:26px 20px;
    text-align:center;
}

.home-plan-head {
    max-width:850px;
    margin:0 auto 22px;
}

.home-plan-kicker {
    display:inline-block;
    margin-bottom:9px;
    color:#67e8f9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}

.home-plan-head h2 {
    margin:0;
    color:#f8fafc;
    font-size:
        clamp(
            28px,
            4vw,
            38px
        );
    line-height:1.15;
    font-weight:900;
}

.home-plan-head p {
    margin:13px auto 0;
    color:#94a3b8;
    font-size:14px;
    line-height:1.75;
}

.home-plan-status {
    min-height:20px;
    margin:
        0 auto
        24px;
    color:#7dd3fc;
    font-size:11px;
    font-weight:700;
}

.home-plan-grid {
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(290px,1fr)
        );
    gap:22px;
    align-items:stretch;
}

.home-plan-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:29px;
    text-align:left;
    border:
        1px solid
        rgba(148,163,184,.17);
    border-radius:22px;
    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.07),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(17,24,39,.98),
            rgba(12,17,30,.98)
        );
    box-shadow:
        0 18px 50px
        rgba(0,0,0,.29);
    overflow:hidden;
}

.home-plan-card.is-trial {
    border-color:
        rgba(34,211,238,.40);

    background:
        radial-gradient(
            circle at top right,
            rgba(34,211,238,.14),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(10,27,38,.98),
            rgba(15,24,42,.98)
        );
}

.home-plan-card.is-featured {
    border:
        2px solid
        rgba(0,230,118,.78);

    box-shadow:
        0 20px 58px
        rgba(0,0,0,.40),
        0 0 32px
        rgba(0,230,118,.10);
}

.home-plan-badge {
    display:inline-flex;
    width:max-content;
    max-width:100%;
    margin-bottom:15px;
    padding:7px 13px;
    border-radius:999px;
    border:
        1px solid
        rgba(103,232,249,.28);
    background:
        rgba(34,211,238,.08);
    color:#67e8f9;
    font-size:10px;
    line-height:1;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.home-plan-card.is-featured
.home-plan-badge {
    color:#86efac;
    border-color:
        rgba(0,230,118,.30);
    background:
        rgba(0,230,118,.09);
}

.home-plan-card h3 {
    margin:0;
    color:#f8fafc;
    font-size:23px;
    line-height:1.25;
    font-weight:900;
}

.home-plan-description {
    min-height:44px;
    margin:10px 0 18px;
    color:#94a3b8;
    font-size:12px;
    line-height:1.7;
}

.home-plan-price-row {
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:6px;
}

.home-plan-price {
    color:#f8fafc;
    font-size:37px;
    line-height:1;
    font-weight:950;
}

.home-plan-card.is-trial
.home-plan-price {
    color:#22d3ee;
}

.home-plan-period {
    padding-bottom:3px;
    color:#94a3b8;
    font-size:12px;
    font-weight:700;
}

.home-plan-tax {
    min-height:18px;
    color:#64748b;
    font-size:10px;
    line-height:1.5;
}

.home-plan-total {
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:12px;
    padding:11px 13px;
    border:
        1px solid
        rgba(148,163,184,.13);
    border-radius:11px;
    background:
        rgba(255,255,255,.025);
    color:#94a3b8;
    font-size:11px;
}

.home-plan-total strong {
    color:#f8fafc;
}

.home-plan-features {
    display:grid;
    gap:9px;
    margin:
        21px 0
        24px;
    padding:0;
    list-style:none;
}

.home-plan-features li {
    position:relative;
    padding-left:22px;
    color:#cbd5e1;
    font-size:12px;
    line-height:1.55;
}

.home-plan-features li::before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#22d3ee;
    font-weight:900;
}

.home-plan-card.is-featured
.home-plan-features li::before {
    color:#00e676;
}

.home-plan-action {
    width:100%;
    margin-top:auto;
    padding:14px 16px;
    border:none;
    border-radius:12px;
    cursor:pointer;
    font-size:13px;
    font-weight:900;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home-plan-action:hover {
    transform:
        translateY(-2px);
}

.home-plan-action.trial {
    color:#03232a;
    background:
        linear-gradient(
            135deg,
            #67e8f9,
            #22d3ee
        );
    box-shadow:
        0 8px 24px
        rgba(34,211,238,.20);
}

.home-plan-action.paid {
    color:#03150a;
    background:
        linear-gradient(
            135deg,
            #69f0ae,
            #00e676
        );
    box-shadow:
        0 8px 24px
        rgba(0,230,118,.18);
}

.home-plan-footer {
    margin-top:26px;
}

.home-plan-view-all {
    display:inline-flex;
    padding:11px 18px;
    border-radius:11px;
    border:
        1px solid
        rgba(103,232,249,.20);
    background:
        rgba(34,211,238,.06);
    color:#67e8f9;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}

.home-plan-footer p {
    max-width:700px;
    margin:12px auto 0;
    color:#64748b;
    font-size:10px;
    line-height:1.6;
}

.home-plan-loading {
    grid-column:1/-1;
    padding:35px;
    color:#94a3b8;
    font-size:12px;
}

body.light
.home-plan-head h2,
body.light
.home-plan-card h3,
body.light
.home-plan-price,
body.light
.home-plan-total strong {
    color:#0f172a;
}


@media (max-width:700px) {

    .home-plan-section {
        margin:50px auto;
        padding:20px 14px;
    }

    .home-plan-grid {
        grid-template-columns:1fr;
    }

    .home-plan-card {
        padding:24px 20px;
    }
}


