.tab-btn-container {
    display: flex;
    justify-content: center;
    border: 1px solid #B61C20 !important;
    padding: 5px 5px 7px 5px !important;
    border-radius: 50px;
    width: fit-content;
}

.pricing-card .price-tag {
    padding-top: 11px;
    padding-bottom: 11px;
}

.pricing-card .featured-wrapper .featured-tag {
    position: absolute;
    top: -35px;
    z-index: -999;
    text-transform: uppercase;
    background-color: #B61C20;
    color: #fff;
    width: 100%;
    text-align: center;
    margin-left: -20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 5px 0px 18px 0px;
    font-weight: bold;
}

.price-cards {
    padding-top: 50px;
}

/* .pricing-card-header {
     margin-bottom: 20px;
     height: 173px !important;
 } */

/* .price-cards .price-section-1 {
     margin-bottom: 26px !important;
     height: 175px !important;
 } */

/* --- PRICING SECTION: LAYOUT & HEIGHT FIXES --- */

.pricing-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    /* Equal height cards */
}

.pricing-row>.col-md-3 {
    display: flex;
    flex-direction: column;
}

/* Make all cards flexible and full-height */
.pricing-card,
.main-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Stretch card body to fill space */
.pricing-card .card-body,
.main-card .card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* --- BUTTON STYLES --- */
.price-btn-1,
.price-btn-2 {
    background: transparent;
    /* color: black; */
    border: 2px solid #ffffff;
    padding: 12px 25px;
    margin: 5px;
    cursor: pointer;
    border-radius: 50px;
    font-size: 16px;
    transition: background 0.3s, color 0.3s, transform 0.2s;
    font-weight: bold;
    color: #B61C20;
}

/* Active button */
.price-btn-1.active,
.price-btn-2.active {
    background: #B61C20;
    color: white;
    border: 2px solid #B61C20;
    box-shadow: 0px 4px 10px rgba(181, 43, 43, 0.5);
    transform: scale(1.05);
}


/* --- TYPOGRAPHY --- */
.pricing-card .heading {
    font-size: 20px !important;
    font-family: franklin-gothic-urw, sans-serif !important;
    font-weight: bold;
    /* text-transform: uppercase; */
}

.pricing-card .price-tag {
    font-size: 39px !important;
    /* margin-top: 18px; */
}

.main-card .heading {
    font-size: 17px;
    color: #B61C20 !important;
    /* padding-top: 10px; */
    /* padding-bottom: 10px; */
    font-weight: bold;
    margin-bottom: 0px;
    text-transform: uppercase;
}

.main-card li {
    /* padding-top: 19px;
     padding-bottom: 19px; */
    padding: 10px 0;
}

.pricing-card li {
    /* padding-top: 20px;
     padding-bottom: 19px !important; */
    padding: 10px 0;
}

/* Dividing lines */
.pricing-card p,
.pricing-card li,
.main-card p,
.main-card li {
    font-size: 13px;
    font-weight: bold;
    /* width: 100%; */
    font-family: franklin-gothic-urw, sans-serif !important;
}

/* Remove border from last item */
.pricing-card li:last-child,
.main-card li:last-child {
    border-bottom: none;
}

/* --- CARD VISUAL STYLE --- */
.pricing-row .col-md-3 .card {
    border: 2px solid #E6E6E6;
    border-top-left-radius: 15px !important;
    border-top-right-radius: 15px !important;
    border-bottom-left-radius: 19px !important;
    border-bottom-right-radius: 19px !important;
}

.main-card {
    background: white;
}

.pricing-card {
    background: white;
}

.pricing-card h3 {
    margin: 10px 0;
    color: #333;
}

.pricing-card ul {
    padding: 0;
}

/* Button styling */
.pricing-row .btn-danger {
    background: #B61C20;
    border: none;
    width:  45%;
    align-self: center;
    color: white;
}

.btn-danger:hover {
    background: #911f1f;
}

/* List inside cards */
.card .list-unstyled {
    padding-top: 5px;
}

.card .list-unstyled li {
    border-bottom: 1px solid #ddd;
    font-size: 14px;
    margin-left: -20px;

    border-bottom: 1px solid #ddd;
    font-size: 13px;
    /* match everywhere */
    font-weight: bold;
    font-family: franklin-gothic-urw, sans-serif !important;
    text-align: center;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;

}

.card .list-unstyled li:last-child {
    border-bottom: none;
}

.dollar:before {
    content: '$';
    font-size: 0.7em;
    vertical-align: top;
    font-weight: 500;
}

.price-tag {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.dollar {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.price-unit {
    font-size: 14px;
    color: #666;
    font-weight: bold;
}

.price-btn-1:focus,
.price-btn-2:focus {
    outline: unset !important
}

.price-section-1 img {
    aspect-ratio: 16 / 9;
    width: 100%;
    object-fit: cover !important;
    object-position: center !important;
    /* height: 140px !important; */
}

.price .category {
    margin-left: 15px;
    margin-right: 15px;
}

.price .category img {
    max-width: 100%;
    height: auto;
}

.price .category {
    height: 223px;
    border-radius: 10px;
}

@media (max-width: 370px) {
    .pricing-row>.col-md-3 {
        width: 90% !important;
    }
}

@media (min-width: 576px) {

    .price .nav-tabs .nav-link {
        padding: 1rem;
        text-align: center;
    }

    .price .category {
        margin-left: 15px;
        margin-right: 15px;
    }

}

@media (min-width: 576px) {
    .pricing-row .col-sm-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 768px) {

    .pricing-row .col-md-4 {

        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .price .under-line {
        margin-bottom: 28px;
    }

    .price .category {
        margin-bottom: 30px;
        padding: 15px;
        margin-left: 0px;
        margin-right: 0px;
    }

    .price .category {
        height: 197px;
        border-radius: 10px;
    }

    .tab-btn-container {
        justify-content: flex-start;
    }
}

@media (min-width: 992px) {
    .price .category {
        height: 220px;
    }

    .pricing-row .col-lg-3 {

        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
}

@media (max-width: 991px) {
    .feature-item {
        display: block !important;
        text-align: center;
    }

    .feature-label {
        display: block;
        font-weight: bold;
    }

    .feature-text {
        display: block;
        font-size: 0.9em;
        color: #555;
        margin-top: 2px;
    }

    .includes-card {
        display: none !important;

    }

}

@media (max-width: 1200px) {
    .list-unstyled {
        position: sticky;
    }

    /* .pricing-scroll-wrapper {
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
     } */

    .pricing-row {
        flex-wrap: wrap !important;
        margin-top: 35px;
    }

    .pricing-row>.col-md-3 {
        flex: 0 0 auto;
        /* width: 80%; */
        width: auto;
        /* Let Bootstrap handle width via col classes */
        /* max-width: 280px; */
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        /* margin-right: 16px; */
    }

    .pricing-row>div {
        margin-bottom: 60px;
        /* ✅ Space between stacked cards */
    }

    /* Force left sticky card background to stretch */
    .pricing-row>.col-md-3:first-child .main-card {
        height: 100%;
        min-height: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    /* Ensure card body doesn't overflow */
    .pricing-row>.col-md-3:first-child .card-body {
        overflow: hidden;
        white-space: normal;
        word-wrap: break-word;
    }
}

@media (min-width: 1200px) {

    /* .main-card li {
         padding-top: 10px;
         padding-bottom: 10px;
     } */
    /* .price-cards .price-section-1 { 
    height: 170px !important;
} */
    .price .category {
        height: 195px;
    }

    .price .row:nth-of-type(2) {
        border-bottom: 2px solid #414141;
        margin-bottom: 40px;
    }
}

@media (min-width: 1400px) {
    /* .price-cards .price-section-1 {
         height: 150px !important;
     }
 
     .pricing-card-header {
         height: 155px !important;
     } */
}

/* For leftmost feature list */
.master-feature-list {
    min-height: auto;
    /* reset any other styling */
}

/* For product cards' feature lists */
.product-feature-list {
    min-height: auto;
}


.modal-content .modal-body p {
    text-align: left;
    font-weight: lighter !important;
}

.modal .custom-close-button {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    color: #000;
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 1051;
    cursor: pointer;
    padding: 0;
    box-shadow: none;
}

.modal .custom-close-button:focus {
    outline: none;
    box-shadow: none;
}

.custom-modal-position {
    top: -190px;
    /* Move up */
    position: relative;
}

/* Wrap the T&C area in a new div for styling */
.pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    /* overflow: hidden; */
    position: relative;
    overflow: visible;
}

.pricing-card .card-body {
    flex: 1 1 auto;
}

.terms-footer {
    background-color: #f3f3f3;
    font-size: 14px;
    border-top: 1px solid #ccc;
    border-bottom-left-radius: 19px !important;
    border-bottom-right-radius: 19px !important;
}

.terms-link:hover {
    color: #B61C20;
    text-decoration: none;
}

.price .section-title {
    text-transform: uppercase;
    font-size: 26px !important;
    margin-bottom: 30px !important;
}

.price .category-title {
    font-size: 20px !important;
    margin-bottom: 5px !important;
}