/* ✅ Confetti Canvas Always On Top */
canvas.confetti-canvas {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 999999 !important;
}

.bi-x-circle {
    transition: color 0.2s ease-in-out;
}

    .bi-x-circle:hover {
        color: #ff4d4f !important;
    }

.modal-content {
    border-radius: 1rem;
    overflow: hidden;
}

.hover-shadow:hover {
    box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease-in-out;
}

.cursor-pointer {
    cursor: pointer;
}

/* Smooth transition for card section */
#newCardSection {
    transition: all 0.3s ease;
}

/* ✅ Highlight selected saved card */
.saved-card {
    transition: all 0.2s ease-in-out;
    border: 2px solid transparent;
}

    .saved-card:hover {
        border-color: #2e5143;
    }

    .saved-card.selected {
        border-color: #2e5143 !important;
        box-shadow: 0 0 8px rgba(46 81 67, 0.4);
        background-color: #f1fffa !important;
        /*             border-color: #2e5143 !important;
            box-shadow: 0 0 8px rgba(13, 110, 253, 0.4);
            background-color: #e7f1ff !important; */
    }

.text-primary {
    color: #2e5143;
}

/****** Page CSS *******/

body {
    background: #fff;
    color: #1f2a25;
}

.navbar {
    background: #fff;
}

    .navbar .btn-brand {
        background: var(--teal);
        color: #fff;
        border: none;
    }


/* --- ACCORDION --- */
.accordion-button:not(.collapsed) {
    background-color: #2e5143;
    color: #fff;
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(46, 81, 67, 0.25);
}

.accordion-body {
    background-color: #f2fffa; /*#f0fff9;*/
    color: #2e5143;
}


.navbar .btn-brand:hover {
    filter: brightness(0.95);
}

.hero {
    background: linear-gradient(0deg, #ffffff 0%, #f7fbf9 100%);
    border-bottom: 1px solid #eef2f0;
}

    .hero .badge {
        background: var(--brand-soft);
        color: var(--brand-ink);
        border: 1px solid #d6e5df;
    }

    .hero h1 {
        color: var(--brand-ink);
    }

/* Free Trial Button */
.btn-free-trial {
    background: var(--teal);
    color: #fff;
    font-weight: 600;
    border: none;
    padding: .8rem 2rem;
    border-radius: 50px;
    transition: all .2s ease;
}

    .btn-free-trial:hover {
        background: #244236;
        transform: translateY(-2px);
    }

/* Sticky plan header */
.plan-sticky {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #fff;
    border-bottom: 1px solid #eef2f0;
    transition: box-shadow .2s ease;
}

    .plan-sticky.is-stuck {
        box-shadow: 0 6px 20px rgba(0,0,0,.08);
    }

/* Toggle switch */
.form-switch .form-check-input {
    width: 3rem;
    height: 1.5rem;
    cursor: pointer;
    background-color: #dbe8e3;
    border-color: #dbe8e3;
}

    .form-switch .form-check-input:checked {
        background-color: var(--teal);
        border-color: var(--teal);
    }

/* Pricing cards */
.price-card {
    border: 1px solid #e6eeea;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    transition: transform .15s ease, box-shadow .15s ease;
    height: 100%;
}

    .price-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(0,0,0,.08);
    }

    .price-card .header {
        padding: 1.25rem 1.25rem .75rem;
        border-bottom: 1px dashed #e6eeea;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%);
    }

    .price-card .price {
        font-size: 2.25rem;
        font-weight: 800;
        color: var(--brand-ink);
    }

        .price-card .price small {
            font-size: .9rem;
            color: #6b7a74;
            font-weight: 600;
        }

    .price-card .features li {
        padding: .45rem 0;
        border-bottom: 1px dashed #eff4f2;
    }

        .price-card .features li:last-child {
            border-bottom: none;
        }

.btn-outline-brand {
    border-color: var(--teal);
    color: var(--teal);
    font-weight: 700;
}

    .btn-outline-brand:hover {
        background: var(--teal);
        color: #fff;
    }

/** With some rotation at some angle **/
/*.ribbon {
    position: absolute;
    top: 10px;
    right: -32px;
    background: var(--teal);
    color: #fff;
    transform: rotate(35deg);
    font-size: .75rem;
    padding: .3rem 2.5rem;
    font-weight: 700;
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
}*/

/** with plane div and no rotation **/
.ribbon {
    position: absolute;
    right: -1px;
    background: var(--teal);
    color: #fff;
    font-size: .75rem;
    padding: .3rem 1rem;
    border-radius: 0px 10px 0 10px;
    font-weight: 700;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}

.muted {
    color: #6b7a74;
}

.btn-primary {
    background: var(--teal);
}

.save-bg-badge {
    background: var(--teal);
}


/* ✅ Highlight selected Plan */
.price-card.selected {
    border: 2px solid var(--teal) !important;
    box-shadow: 0 0 20px rgba(46, 81, 67, 0.2) !important;
    transform: translateY(-3px);
}

    .price-card.selected .btn-outline-brand {
        background: var(--teal) !important;
        color: #fff !important;
    }
