@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300..800&display=swap');
#pageLoader {
    display: flex;
}

:root {
    --primary-dark-blue: #332F6E;
    --sky-blue: #40AEE1;
    --powder-blue: #3377B8;
    --teal: #65C6C0;
    --royal-blue: #292A69;
    --dark-grey: #515F69;
    --accident_plan: #292a69;
    --primary_plan: #515f69;
    --hospital_plan: #3377b8;
    --classic_plan: #40aee1;
    --super_plan: #60c6c1;
    /* light background */
    /* accent color */
}
.hide {
    display: none;
}

.show {
    display: block;
}
html {
    font-size: 16px;
    font-size: 16px;
    font-family: "Open Sans", sans-serif;

}

body {
    font-family: "Open Sans", sans-serif;
    color: var(--primary-dark-blue);
    position: relative;
}
.text-muted {
    color: var(--primary-dark-blue)!important;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}



html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

/* target all input fields */
/*input {
    height: 40px;*/ /* pick your desired height */
/*}*/


h1 {
    --bs-badge-font-size: 32px;
    --bs-badge-font-weight: 800;
    line-height: 120% !;
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 120%;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    white-space: normal !important;
}

@media (min-width: 320px) and (max-width: 575px) {

    h1 {
        font-size: 24px !important
    }
}

h2 {
    color: #333333 !important;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}

p {
    color: var(--primary-dark-blue)
}


.hidden {
    display: none;
}

/*--------------------Colours-------------------*/

.bg-light-grey {
    background-color: #f4f4f4;
}

.teal {
    color: var(--teal)
}

.blue {
    color: var(--primary-dark-blue);
}

.petname-color {
    color: #3fafe2 !important;
    text-transform: capitalize !important;
    font-weight: bold !important;
}

/*--------------------fonts-------------------*/
.weigt-100 {
    font-weight: 100;
}

.weigt-200 {
    font-weight: 200;
}

.weigt-300 {
    font-weight: 300;
}

.weigt-400 {
    font-weight: 400;
}

.weigt-500 {
    font-weight: 500;
}

.weigt-600 {
    font-weight: 600;
}

.weigt-700 {
    font-weight: 700;
}

.weigt-800 {
    font-weight: 800;
}


.btn-primary {
    background-color: var(--primary-dark-blue);
    color: #fff;
    font-weight: 700;
    border: 0px
}

/*----------------------------------------------*/
/*------------------Merlin----------------------*/


.navbar-blue {
    background-color: #332f6e !important;
}

.navbar-img {
    width: 20%;
    height: 20%;
    flex-shrink: 0;
    margin: 20px 0 !important;
}

.main-body {
    margin-top: 80px !important;
}

.step-container {
    position: relative;
    text-align: center;
    transform: translateY(-43%);
}

.step-container {
    position: relative;
    text-align: center;
    transform: translateY(-43%);
}

.step-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff !important;
    background-color: #ccc !important;
    border: 2px solid #ccc !important;
    line-height: 30px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    cursor: pointer; /* Added cursor pointer */
}

    .step-circle.completed {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        color: #fff !important;
        background-color: #332F6E !important;
        border: 2px solid #332F6E !important;
        line-height: 30px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
        cursor: pointer; /* Added cursor pointer */
    }

.step-line {
    position: absolute;
    top: 16px;
    left: 50px;
    width: calc(100% - 100px);
    height: 4px;
    background-color: #d9d9d9 !important;
    z-index: -1;
}

#multi-step-form {
    overflow-x: hidden;
}

.main-container {
    margin-top: 20px !important;
}


.font-normal {
    color: #332F6E !important;
    text-align: center;
    font-feature-settings: 'liga' off, 'clig' off;
    font-size: 30px;
    font-style: normal;
    font-weight: 200;
    line-height: 44px;
}

h2 {
    color: #333333 !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}

h5 {
    color: #333 !important;
    text-align: center !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

#petsAccordion .accordion-item {
    margin-top: 20px !important;
    border-radius: 7px !important;
    border: 1px solid #C1C1C1 !important;
    background: #F4F4F4 !important;
}

#petsAccordion .accordion-button {
    font-weight: normal !important;
    font-size: 24px;
}

.frame {
    margin-top: 20px !important;
    border-radius: 7px !important;
    border: 1px solid #C1C1C1 !important;
    background: #F4F4F4 !important;
}

.inside-frame {
    background: #F4F4F4 !important;
    border: none !important;
}

.quantity-select {
    margin-top: 15px !important;
}

.pet-img {
    margin: 14px 0 !important;
    width: 100px !important;
}

.input-add-pet {
    width: 20% !important;
    display: inline-block !important;
    border-radius: 25px;
    border: 1px solid #B7B7B7;
    background: #FFF !important;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) inset;
    text-align: center !important;
}

    .input-add-pet[type="number"] {
        text-align: center;
        -moz-appearance: textfield; /* remove Firefox quirks */
    }

        .input-add-pet[type="number"]::-webkit-inner-spin-button,
        .input-add-pet[type="number"]::-webkit-outer-spin-button {
            margin: 0;
            -webkit-appearance: none; /* remove Chrome spinners */
        }

.btn-add-remove {
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='41' viewBox='0 0 40 41' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle id='Ellipse 2' cx='20' cy='20.1523' r='20' fill='%2365C6C0'/%3E%3C/svg%3E%0A");
    width: 40px;
    height: 40px;
    fill: #65C6C0;
    color: #fff !important;
    border: none !important;
}

.btn-add-remove-txt {
    color: #FFF;
    text-align: center;
    font-family: 'Open Sans';
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px; /* 187.5% */
}


.text-danger ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align:center!important;
}
.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
    font-size: 13px !important;
}
.usp-frame {
    margin-top: 20px !important;
    background: #F4F4F4;
}

.card-img-top {
    width: 111px !important;
}

h6 {
    color: #332F6E !important;
    text-align: center !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-weight: 700 !important;
}

.card-body-width {
    width: 70% !important;
    text-align: center !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.card-height {
    background-color: transparent !important;
    border: none !important;
}

.pad-30 {
    padding: 30px 0 !important;
}

.main-footer {
    bottom: 0;
    width: 100%;
    text-align: center !important;
    padding: 20px 0 !important;

}

.card-text {
    color: #332F6E !important;
}

p {
    color: #332F6E !important;
}

.form-floating > label {
    position: absolute;
    top: 0;
    left: 2% !important;
    z-index: 2;
    max-width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    color: rgba(var(--bs-body-color-rgb), .65);
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: var(--bs-border-width) solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
    font-size: small !important;
}



form-label {
    font-family: 'Open Sans';
    font-weight: 400;
    font-size: 16px !important;
    line-height: 30px !important;
    color: #333333 !important;
}

form-control {
    border: solid 1px #b7b7b7 !important;
    border-radius: 5px !important;
    margin-top: 35px !important;
    padding: 7px 12px !important;
}

.form-check-radio {
    border-radius: 50% !important;
}

.form-check-input {
    --bs-form-check-bg: var(--bs-body-bg);
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
    margin-top: .25em;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
}


/************************************************/
/***************** NAVITGATION BUTTONS ***************/
/************************************************/

.btn-next-nav {
    position: relative;
    padding-left: 44px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 16px !important;
    border: 0px;
    font-weight: bold;
    text-transform: uppercase;
    padding-top: 9px;
    padding-bottom: 9px;
    font-family: 'Open Sans';
    /*    width: 40% !important;*/
}

    .btn-next-nav :first-child {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 37px;
        line-height: 41px;
        font-size: 1.6em;
        text-align: center;
        border-right: 2px solid #fff;
        background-color: #65c6c0;
    }

        .btn-next-nav :first-child img {
            width: 25px;
            border: 0px;
            margin: auto;
            margin-left: 5px;
        }


.btn-nav :first-child {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 37px;
    line-height: 41px;
    font-size: 1.6em;
    text-align: center;
    border-right: 2px solid #fff;
    background-color: #65c6c0;
}

.prev-btn :first-child {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 37px;
    line-height: 41px;
    font-size: 1.6em;
    text-align: center;
    border-right: 2px solid #fff;
    background-color: #65c6c0;
    border-radius: 10px 0px 0px 10px
}



.btn-nav :first-child img {
    width: 25px;
    border: 0px;
    margin: auto;
    margin-left: 5px;
}

.prev-btn :first-child img {
    width: 25px;
    border: 0px;
    margin: auto;
    margin-left: 5px;
}

/* Right-side chevron ONLY for the Continue button */
#divContinue #btnContinue {
    /* make space on the right for the icon block */
    padding-right: 44px;
    /* optional: undo the left padding your generic .btn-nav adds */
    padding-left: 16px;
}

#divContinue #nextPetBtn {
    /* make space on the right for the icon block */
    padding-right: 44px;
    /* optional: undo the left padding your generic .btn-nav adds */
    padding-left: 16px;
}

/* Move the icon block to the right (overrides .btn-nav :first-child) */
#divContinue #btnContinue > span:first-child {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: auto; /* cancel the left placement */
    width: 37px;
    line-height: 41px;
    text-align: center;
    /* flip the divider to the left side since the block is on the right now */
    border-left: 2px solid #fff;
    border-right: 0;
    background-color: #65c6c0; /* keep your accent */
}

#divContinue #nextPetBtn > span:first-child {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: auto; /* cancel the left placement */
    width: 37px;
    line-height: 41px;
    text-align: center;
    /* flip the divider to the left side since the block is on the right now */
    border-left: 2px solid #fff;
    border-right: 0;
    background-color: #65c6c0; /* keep your accent */
}

/* Icon sizing & nudge when on the right */
#divContinue #btnContinue > span:first-child img {
    width: 25px;
    border: 0;
    margin: auto;
    margin-right: 5px; /* small inward nudge */
    margin-left: 0;
}

#divContinue #nextPetBtn > span:first-child img {
    width: 25px;
    border: 0;
    margin: auto;
    margin-right: 5px; /* small inward nudge */
    margin-left: 0;
}


.btn-nav {
    position: relative;
    padding-left: 44px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 16px !important;
    border: 0px;
    font-weight: bold;
    text-transform: uppercase;
    padding-top: 9px;
    padding-bottom: 9px;
    font-family: 'Open Sans';
    /* width: 80% !important;*/
}

.prev-btn {
    position: relative;
    padding-left: 44px;
    text-align: center;
    white-space: nowrap;
    margin-left: 20px;
    margin-top: 20px;
    border-radius: 16px !important;
    border: 0px;
    font-weight: bold;
    text-transform: uppercase;
    padding-top: 9px;
    padding-bottom: 9px;
    font-family: 'Open Sans';
    /* width: 80% !important;*/
}



.btn-nav-properties {
    color: #fff;
    background-color: #332f6e;
    border-color: rgba(0,0,0,0.2);
    border-radius: 10px !important;
}

    .btn-nav-properties:hover,
    .btn-nav-properties:focus,
    .btn-nav-properties:active,
    .btn-nav-properties.active,
    .open .dropdown-toggle
    .btn-nav-properties {
        color: #fff;
        background-color: #65c6c0;
        border-color: rgba(0,0,0,0.2)
    }

    .btn-nav-properties:active,
    .btn-nav-properties.active,
    .open .dropdown-toggle
    .btn-nav-properties {
        color: #fff;
        background-color: #65c6c0;
        border-color: rgba(0,0,0,0.2)
    }

    .btn-nav-properties.disabled,
    .btn-nav-properties[disabled],
    fieldset[disabled] .btn-nav-properties,
    .btn-nav-properties.disabled:hover,
    .btn-nav-properties[disabled]:hover,
    fieldset[disabled] .btn-nav-properties:hover,
    .btn-nav-properties.disabled:focus,
    .btn-nav-properties[disabled]:focus,
    fieldset[disabled] .btn-nav-properties:focus,
    .btn-nav-properties.disabled:active,
    .btn-nav-properties[disabled]:active,
    fieldset[disabled] .btn-nav-properties:active,
    .btn-nav-properties.disabled.active,
    .btn-nav-properties[disabled].active,
    fieldset[disabled] .btn-nav-properties.active {
        background-color: #205081;
        border-color: rgba(0,0,0,0.2)
    }

.navigation-container {
    margin-top: 20px !important;
}


/************************************************/
/***************** card-form ***************/
/************************************************/

.card-form {

    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color:;
    --bs-card-subtitle-color:;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow:;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color:;
    --bs-card-height:;
    --bs-card-color:;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: none!important;
    border-radius: var(--bs-card-border-radius);
}

.card-form-footer {
    background-color: #fff!important;
    border-top: none!important;
}

/************************************************/
/***************** PLAN SELECTION CARDS ***************/
/************************************************/


.delete-pet {
    color: #F05657 !important;
    text-decoration: none !important;
    float: right !important;
    margin-top: 5px !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

.delete-actions .close {
    margin-left: auto !important;
    background-color: #f05657 !important;
    width: 13px !important;
    height: 13px !important;
    border-radius: 50% !important; /* true circle */
    border: none !important;
    opacity: 1 !important;
    cursor: pointer;
    /* Your original SVG */
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M0.3,0.3c0.4-0.4,1-0.4,1.4,0L8,6.6l6.3-6.3c0.4-0.4,1-0.4,1.4,0c0.4,0.4,0.4,1,0,1.4c0,0,0,0,0,0L9.4,8 l6.3,6.3c0.4,0.4,0.4,1,0,1.4c-0.4,0.4-1,0.4-1.4,0L8,9.4l-6.3,6.3c-0.4,0.4-1,0.4-1.4,0c-0.4-0.4-0.4-1,0-1.4L6.6,8L0.3,1.7 C-0.1,1.3-0.1,0.7,0.3,0.3'/%3E%3C/svg%3E%0A") !important;
    background-repeat: no-repeat;
    background-position: center; /* keep icon centered */
    background-size: 50%;
}


.h2-PetName {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #332f6e !important;
}

.img-card {
    background-color: transparent !important;
    border: none !important;
    margin-left: 20% !important;
    margin-top: 10% !important;
}



.delete-actions {
    display: flex; /* flex container */
    justify-content: flex-end; /* align to the right */
    align-items: center; /* vertical centering */
    gap: 0.5rem; /* spacing between text & button */
}

.delete-text {
    font-size: 14px;
    color: #dc3545;
    margin: 0; /* reset margin to align properly */
    line-height: 1; /* keep it tight */
}

.delete-actions .close {
    float: none !important; /* override Bootstrap float */
    margin: 0 !important; /* remove default margin */
    line-height: 1; /* vertically center the × icon */
    display: flex; /* flex so it's centered in its box */
    align-items: center;
    justify-content: center;
}

/*  plan card inside each row */
/* plan card classes are dynamicly generated eg. plan-col-1 */
#plan-selection .custom-column .plan-card {
    background-color: #fff !important;
    border: 1px solid #c1c1c1 !important;
    text-align: center;
    padding: 20px 10px !important;
    color: var(--primary-dark-blue) !important
}

#plan-selection .plan-wrapper-card {
    background-color: #F4F4F4;
    border: 1px solid #C1C1C1;
}

    #plan-selection .plan-wrapper-card .card-header {
        background-color: transparent;
        border: 0px !important;
        padding-top: 20px;
        padding-bottom: 0px;
    }

.plan-row .pet-icon {
    width: 100px;
    margin: auto
}

.plan-content-wapper h3 {
    color: var(--primary-dark-blue) !important;
    margin: 0px;
    font-size: 16px !important;
    font-weight: bold;
    margin-bottom: 10px;
}

.plan-content-wapper h5 {
    color: var(--primary-dark-blue) !important;
    margin: 0px;
    font-size: 16px !important;
    font-weight: normal;
}

    .plan-content-wapper h5:first-of-type {
        font-weight: bold !important;
        /*margin-top: 10px*/
    }



/* 1st plan card */
#plan-selection .plan-col-1 .plan-card.is-selected {
    background: #60C6C1 !important;
    border: 2px solid #60C6C1 !important;
    box-shadow: 0 0 0 .25rem rgba(255,255,255,.3) !important;
    color: #fff !important;
}

    #plan-selection .plan-col-1 .plan-card.is-selected h5, #plan-selection .plan-col-1 .plan-card.is-selected h3 {
        color: #fff !important;
    }


#plan-selection .plan-col-2 .plan-card.is-selected {
    background: #43B0DF !important;
    border: 2px solid 43B0DF#fff;
    box-shadow: 0 0 0 .25rem rgba(255,255,255,.3);
    color: #fff !important;
}

    #plan-selection .plan-col-2 .plan-card.is-selected h5, #plan-selection .plan-col-2 .plan-card.is-selected h3 {
        color: #fff !important;
    }

#plan-selection .plan-col-3 .plan-card.is-selected {
    background: #3378B4 !important;
    ;
    border: 2px solid #3378B4;
    box-shadow: 0 0 0 .25rem rgba(255,255,255,.3);
}

    #plan-selection .plan-col-3 .plan-card.is-selected h5, #plan-selection .plan-col-3 .plan-card.is-selected h3 {
        color: #fff !important;
    }

#plan-selection .plan-col-4 .plan-card.is-selected {
    background: #515F69 !important;
    ;
    border: 2px solid #515F69 !important;
    box-shadow: 0 0 0 .25rem rgba(255,255,255,.3);
}

    #plan-selection .plan-col-4 .plan-card.is-selected h5, #plan-selection .plan-col-4 .plan-card.is-selected h3 {
        color: #fff !important;
    }

#plan-selection .plan-col-5 .plan-card.is-selected {
    background: #292C67 !important;
    ;
    border: 2px solid #292C67 !important;
    box-shadow: 0 0 0 .25rem rgba(255,255,255,.3);
}

    #plan-selection .plan-col-5 .plan-card.is-selected h5, #plan-selection .plan-col-5 .plan-card.is-selected h3 {
        color: #fff !important;
    }

.plan-wrapper-card .form-check-input {
    display: none;
}


.plan-wrapper-card .toggle-link {
    text-decoration: none;
    color: #06072A;
}

.plan-tooltip-btn {
    position: absolute;
    top: -10px; /* adjust vertical placement */
    right: 0px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333; /* Bootstrap primary blue */
    border: none;
}

.plan-wrapper-card .make-cheaper {
    text-decoration: none;
    color: var(--primary-dark-blue);
}


.add-on-checks .form-check-input {
    display: block;
}

.add-on-checks .form-check-input {
    width: 20px;
    height: 20px;
    border: 2px solid var(--primary-dark-blue);
    border-radius: 4px;
    cursor: pointer;
}

    .add-on-checks .form-check-input:checked {
        background-color: var(--primary-dark-blue);
        border-color: var(--primary-dark-blue);
    }

    .add-on-checks .form-check-input:focus {
        border-color: var(--primary-dark-blue);
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }

.add-on-checks .form-check-label {
    cursor: pointer;
    margin-left: 8px;
}

.add-on-checks label {
    font-size: 14px;
}

.plan-tooltip-btn, .plan-tooltip-btn:active {
    background-color: #333 !important;
}

.btn-read-more {
    border-radius: 29px !important;
    border-top: 3px solid #06072A !important;
    padding: 1px 27px !important;
    background-color: #292C67 !important;
    font-family: 'Open Sans' !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #ffffff !important;
    height: 36px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}


/* Read-more button layout + chevron rotation */
.btn-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

    .btn-read-more .icon img {
        display: block;
        transition: transform .2s ease;
    }

    .btn-read-more.open .icon img {
        transform: rotate(180deg);
    }

    .btn-read-more img {
        display: block;
        width: 18px;
        height: auto;
    }

@media (min-width: 992px) and (max-width: 1199.98px) {

    .custom-column {
        /* new layout rules for lg and up */
        flex: 0 0 33%; /* example: make it 50% width */
        max-width: 33%;
    }
}





@media (max-width: 1496px) {

    .btn-read-more img {
        display: block !important;
    }
}

@media (max-width: 1199px) {
    .btn-read-more img {
        display: block !important;
    }
}

@media (max-width: 786px) {
    .btn-read-more img {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .btn-read-more img {
        display: block !important;
    }
}










.table-more-Info {
    width: 95% !important;
    border: 1px solid #65C6C0 !important;
    background-color: #E3F3F3 !important;
    text-align: center !important;
    --bs-table-bg: #E3F3F3;
    color: #332F6E !important;
}

.btn-view-brochure {
    border-radius: 7px !important;
    border: 1px solid #65C6C0 !important;
    padding: 10px 10px !important;
    background-color: #65C6C0 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #332f6e !important;
}

.btn-close-more-info {
    background-color: #292C67 !important;
    border-top: 3px solid #06072A !important;
    color: #fff !important;
    border-radius: 29px !important;
    padding: 13px 27px !important;
}

.toolTip {
    float: right !important;
    margin-top: -10px !important;
    color: #fff !important;
    background-color: var(--primary-dark-blue) !important;
}

.tooltip {
    --bs-tooltip-bg: var(--primary-dark-blue) !important;
    --bs-tooltip-color: #fff; /* text color inside tooltip */
}

.tooltip {
    position: relative;
}

.plan-content-wapper {
    position: relative;
}




.card-addon .child-card-addon .plan-tooltip-btn {
    position: absolute;
    top: 7px; /* adjust vertical placement */
    right: 5px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333; /* Bootstrap primary blue */
    border: none;
}

.card-addon .child-card-addon:hover {
    background-color: #65C6C0 !important;
}

.card-addon .child-card-addon.is-selected {
    background-color: #65C6C0;
    box-shadow: none;
    border: 0px;
}

.card-addon .form-check-input {
    display: none
}



.card-addon .card-header {
    border-bottom: 0px;
    background-color: transparent;
    padding-top: 20px;
    padding-bottom: 0px
}

.card-addon {
    background-color: #f4f4f4;
}



.card-title-PlanSelection {
    color: #332F63 !important;
    font-family: 'Open Sans' !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

.title-none {
    margin: 11% 0 !important;
}

.btn-send-my-quote {
    border-radius: 29px !important;
    padding: 13px 27px !important;
    border-top: 4px solid #2B8F8E !important;
    background-color: #63C6C1 !important;
    color: #292C67 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}


.wellnessWheel {
    width: 500px !important;
    margin: 30px auto 30px auto !important;
}

h6.card-title {
    text-wrap-style: balance!important;
}





.tooltip__item {
    position: absolute;
    min-width: 100px;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    background: white;
    transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);
    color: #484848;
    border: 1px solid #cecece;
    border-radius: 3px;
    font-weight: 500;
    box-shadow: 0 2px 1px #bcbcbc;
    z-index: 4;
}

    .tooltip__item:after {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        border-style: solid;
    }

.tooltip__initiator {
    cursor: pointer;
    z-index: 5;
}

.tooltip[data-direction="left"] .tooltip__initiator:hover ~ .tooltip__item {
    transform: translate3d(0, -50%, 0);
    visibility: visible;
    opacity: 1;
}

.tooltip[data-direction="left"] .tooltip__item {
    top: 50%;
    right: calc(100% + 1em);
    transform: translate3d(15px, -50%, 0);
}

    .tooltip[data-direction="left"] .tooltip__item:after {
        top: 50%;
        right: -0.5em;
        transform: translate3d(0, -50%, 0);
        border-width: 0.5em 0 0.5em 0.5em;
        border-color: transparent transparent transparent white;
        -webkit-filter: drop-shadow(0px 2px 1px #bcbcbc);
        filter: drop-shadow(0px 2px 1px #bcbcbc);
    }

.tooltip[data-direction="top"] .tooltip__initiator:hover ~ .tooltip__item, .tooltip[data-direction="bottom"] .tooltip__initiator:hover ~ .tooltip__item {
    transform: translate3d(-50%, 0, 0);
    visibility: visible;
    opacity: 1;
}

.tooltip[data-direction="top"] .tooltip__item, .tooltip[data-direction="bottom"] .tooltip__item {
    left: 50%;
    transform: translate3d(-50%, -15px, 0);
}

    .tooltip[data-direction="top"] .tooltip__item:after, .tooltip[data-direction="bottom"] .tooltip__item:after {
        left: 50%;
        transform: translate3d(-50%, 0, 0);
    }

.tooltip[data-direction="top"] .tooltip__item {
    bottom: calc(100% + 1em);
}

    .tooltip[data-direction="top"] .tooltip__item:after {
        bottom: -0.5em;
        border-width: 0.5em 0.5em 0 0.5em;
        border-color: white transparent transparent transparent;
        filter: drop-shadow(0px 2px 1px #bcbcbc);
        -webkit-filter: drop-shadow(0px 2px 1px #bcbcbc);
    }

.tooltip[data-direction="bottom"] .tooltip__item {
    top: calc(100% + 1em);
}

    .tooltip[data-direction="bottom"] .tooltip__item:after {
        top: -0.5em;
        border-width: 0 0.5em 0.5em 0.5em;
        border-color: transparent transparent white transparent;
        filter: drop-shadow(0px -1px 1px #bcbcbc);
        -webkit-filter: drop-shadow(0px -1px 1px #bcbcbc);
    }

.fa.fa-info-circle {
    font-size: 38px;
    color: #21606b;
}



/************************************************/
/***************** PROGRESS BAR ***************/
/************************************************/


:root {
    --primary-color: rgb(11, 78, 179);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}
/* Progressbar */
.progressbar {
    position: relative;
    display: flex;
    justify-content: space-between;
    counter-reset: step;
    margin: 2rem 0 2.2rem;
}

    .progressbar::before,
    .progress {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 4px;
        width: 100%;
        background-color: #dcdcdc;
        z-index: -1;
    }

.progress {
    background-color: var(--primary-color);
    width: 0%;
    transition: 0.3s;
}

.progress-step {
    width: 2.1875rem;
    height: 2.1875rem;
    background-color: #dcdcdc;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .progress-step::before {
        counter-increment: step;
        content: counter(step);
    }

    .progress-step::after {
        content: attr(data-title);
        position: absolute;
        top: calc(100% + 0.5rem);
        font-size: 0.85rem;
        color: #666;
    }

.progress-step-active {
    background-color: var(--primary-color);
    color: #f3f3f3;
}

/************************************************/
/***************** ACCORDIAN ***************/
/************************************************/
/*
.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px!important;
    font-size: 1rem;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: #E3F3F3 !important;
    border: 1px solid #65C6C0;
    border-radius: 7px;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
} */

/* remove the default blue background & shadow when expanded */
.accordion-button:not(.collapsed) {
    background-color: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    border: 0px !important
}

/* remove the default color on collapsed (inactive) state */
.accordion-button.collapsed {
    background-color: transparent !important;
    color: inherit !important;
    border: 0px !important
}

/* optional: reset the focus ring too */
.accordion-button:focus {
    border-color: transparent !important;
    box-shadow: none !important;
    border: 0px !important
}

/* remove Bootstrap’s default chevron */
.accordion-button::after {
    display: none !important;
    background-image: none !important;
}


/************************************************/
/***************** MEDIA QUERIES ***************/
/************************************************/

@media (min-width: 320px) and (max-width: 575px) {
    /* <!-- md applies to small devices (landscape phones, less than 768px) --> */
    .order-1 {
        order: 1 !important;
    }
    .order-2 {
        order: 2 !important;
    }
    .order-3 {
        order:3 !important;
    }
   
    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /*to-do*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    h2 {
        color: #333333 !important;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
    }


    .navigation-container {
        text-align: center !important;
    }

    .btn-nav-call-me {
        width: 100% !important;
    }

    .btn-nav-continue-step1 {
        width: 100% !important;
    }

    .btn-nav-continue {
        width: 100% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }

    .btn-send-my-quote-bottom {
        width: 100% !important;
        margin: 0 auto !important;
    }

    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }



    .card-super-plan, .card-classic-plan, .card-hospital-plan, .card-primary-plan, .card-accident-plan, .card-addon .card {
        width: 90%;
        margin: 5px auto;
    }
}


@media (min-width: 576px) and (max-width: 767.98px) {
    /* <!-- md applies to small devices (landscape phones, less than 768px) --> */
    .order-1 {
        order: 1 !important;
    }

    .order-2 {
        order: 2 !important;
    }

    .order-3 {
        order: 3 !important;
    }

    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /*to-do this was display none*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    h2 {
        color: #333333 !important;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
    }

    .navigation-container {
        text-align: center !important;
    }

    .btn-nav-call-me {
        width: 50% !important;
    }

    .btn-nav-continue-step1 {
        width: 50% !important;
    }

    .btn-nav-continue {
        width: 50% !important;
    }

    .btn-nav-previous {
        width: 50% !important;
    }




    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }



    .card-super-plan, .card-classic-plan, .card-hospital-plan, .card-primary-plan, .card-accident-plan, .card-addon .card {
        width: 90%;
        margin: 5px auto;
    }
}


@media (min-width: 768px) and (max-width: 991.98px) {
    /* <!--lg applies to medium devices (tablets, less than 992px) --> */
    .order-1 {
        order: 0 !important;
    }

    .order-2 {
        order: 0 !important;
    }

    .order-3 {
        order: 0 !important;
    }

    #divCallMe {
        text-align: left !important;
    }

    #divContinue {
        text-align: right !important;
    }



    .btn-nav-call-me {
        width: 80% !important;
    }

    .btn-nav-continue-step1 {
        width: 80% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }



    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /*to-to*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    h2 {
        color: #333333 !important;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
    }

    .navigation-container {
        text-align: center !important;
        margin-top: 8% !important;
    }

    .btn-nav-call-me {
        width: 100% !important;
    }

    .btn-nav-continue-step1 {
        width: 100% !important;
    }

    .btn-nav-continue {
        width: 100% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }

    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }
}


@media (min-width: 992px) and (max-width: 1199.98px) {
    /* <!-- xl applies to large devices (desktops, less than 1200px) --> */
    .order-1 {
        order: 0 !important;
    }

    .order-2 {
        order: 0 !important;
    }

    .order-3 {
        order: 0 !important;
    }
    #divCallMe {
        text-align: left !important;
    }

    #divContinue {
        text-align: right !important;
    }

    .btn-nav-call-me {
        width: 70% !important;
    }

    .btn-nav-continue-step1 {
        width: 80% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }



    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /*to-do*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    h2 {
        color: #333333 !important;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
    }

    .navigation-container {
        text-align: center !important;
        margin-top: 5% !important;
    }

    .btn-nav-call-me {
        width: 100% !important;
    }

    .btn-nav-continue-step1 {
        width: 100% !important;
    }

    .btn-nav-continue {
        width: 100% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }

    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }
}


@media (min-width: 1200px) and (max-width: 1399.98px) {
    /* <!-- xxl applies to x-large devices (large desktops, less than 1400px) --> */
    .order-1 {
        order: 0 !important;
    }

    .order-2 {
        order: 0 !important;
    }

    .order-3 {
        order: 0 !important;
    }
    #divCallMe {
        text-align: left !important;
    }

    #divContinue {
        text-align: right !important;
    }

    .btn-nav-call-me {
        width: 50% !important;
        float: left !important;
    }

    .btn-nav-continue-step1 {
        width: 50% !important;
    }

    .btn-nav-continue {
        width: 100% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }



    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /* to-do*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    h2 {
        color: #333333 !important;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 30px;
    }

    .navigation-container {
        text-align: center !important;
        margin-top: 5% !important;
    }



    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }
}

@media (min-width: 1400px) and (max-width: 2560.98px) {
    /* <!-- xxl applies to x-large devices (large desktops, less than 1400px) --> */
    .order-1 {
        order: 0 !important;
    }

    .order-2 {
        order: 0 !important;
    }

    .order-3 {
        order: 0 !important;
    }
    #divCallMe {
        text-align: left !important;
    }

    #divContinue {
        text-align: right !important;
    }

    #nextPetBtn {
        text-align: center !important;
    }


    .prev-btn {
        text-align: center !important;
    }


    .btn-nav-call-me {
        width: 50% !important;
        float: left !important;
    }

    .btn-nav-continue-step1 {
        width: 50% !important;
    }

    .btn-nav-continue {
        width: 100% !important;
    }

    .btn-nav-previous {
        width: 100% !important;
    }



    .main-body {
        margin-top: 20px !important;
    }

    .btn-group {
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .step-container, .progress, .usp-frame {
        /*to-do*/
    }

    .main-container {
        margin-top: 10px !important;
    }



    .navigation-container {
        text-align: center !important;
        margin-top: 5% !important;
    }



    .img-card {
        background-color: transparent !important;
        border: none !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .card-img-top {
        width: 111px !important;
        margin: 0 auto !important;
    }
}




/*****************Close merlins code*************************/


/*-----------------page four---------------------*/



/* Style only tables inside .parial-super */
.parial-super table {
    background-color: #E3F3F3 !important;
    color: #212529;
    border: 1px solid var(--teal);
}

    /* Style all table cells inside that parent */
    .parial-super table td {
        border: 1px solid var(--teal);
        padding: 1rem;
        color: var(--primary-dark-blue);
        background-color: #E3F3F3 !important;
    }

.parial-super .btn-primary {
    background-color: var(--teal) !important;
    color: #fff;
    border: 0px;
    padding: 10px 15px
}

.parial-super h5, .parial-classic h5, .parial-primary h5, .parial-hospital h5, .parial-accident h5 {
    color: var(--primary-dark-blue) !important;
    margin: 0px;
    padding: 0px;
}

.parial-super h2, .parial-classic h2, .parial-primary h2, .parial-hospital h2, .parial-accident h2 {
    color: var(--primary-dark-blue) !important;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 0px;
    font-weight: 700;
    font-size: 32px;
}

.parial-super p, .parial-classic p, .parial-primary p, .parial-hospital p, .parial-accident p {
    color: var(--primary-dark-blue);
    padding: 0px;
}

.parial-accident table {
    background-color: #D9E4F0 !important;
    color: #212529;
    border: 1px solid var(--royal-blue);
}

    /* Style all table cells inside that parent */
    .parial-accident table td {
        border: 1px solid var(--royal-blue);
        padding: 1rem;
        color: var(--primary-dark-blue);
        background-color: #D9E4F0 !important
    }

.parial-accident .btn-primary {
    background-color: var(--royal-blue) !important;
    color: #fff;
    border: 0px;
    padding: 10px 15px
}

.parial-classic table {
    background-color: #DAEFF9 !important;
    color: #212529;
    border: 1px solid var(--sky-blue) !important;
}

    /* Style all table cells inside that parent */
    .parial-classic table td {
        border: 1px solid var(--sky-blue) !important;
        padding: 1rem;
        color: var(--primary-dark-blue);
        background-color: #DAEFF9 !important;
    }

.parial-classic .btn-primary {
    background-color: var(--sky-blue) !important;
    color: #fff;
    border: 0px;
    padding: 10px 15px
}

.parial-hospital table {
    background-color: #D9E4F0 !important;
    color: #212529;
    border: 1px solid var(--powder-blue) !important;
}

    /* Style all table cells inside that parent */
    .parial-hospital table td {
        border: 1px solid var(--powder-blue) !important;
        padding: 1rem;
        color: var(--primary-dark-blue);
        background-color: #D9E4F0 !important;
    }

.parial-hospital .btn-primary {
    background-color: var(--powder-blue) !important;
    color: #fff;
    border: 0px;
    padding: 10px 15px;
}

.parial-primary table {
    background-color: #DDDFE1 !important;
    color: #212529;
    border: 1px solid var(--dark-grey) !important;
}
    /* Style all table cells inside that parent */
    .parial-primary table td {
        border: 1px solid var(--dark-grey) !important;
        padding: 1rem;
        color: var(--primary-dark-blue);
        background-color: #DDDFE1 !important;
    }

.parial-primary .btn-primary {
    background-color: var(--dark-grey) !important;
    color: #fff;
    border: 0px;
    padding: 10px 15px
}



/*--------------Page three**********************/
#page3Form .card {
    background-color: transparent;
}

#page3Form .card {
    background-color: transparent;
    border: 0px
}

    #page3Form .card .card-header {
        background-color: transparent;
        border: 0px
    }

.petname {
    color: var(--primary-dark-blue);
    font-weight: bold;
}



#pfAccordion .accordion {
    border: none;
    --bs-accordion-border-color: transparent;
    border-radius: 10px !important;
}

#pfAccordion .accordion-item {
    border: 1px solid #DEDEDE;
    border-radius: 10px !important;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

#pfAccordion .accordion-header {
    background-color: #332F6E;
    border-radius: 10px 10px 0px 0px;
    color: #fff !important;
}

#pfAccordion .accordion-button {
    color: #292C67;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.75rem 1rem;
    box-shadow: none;
    transition: background-color 0.2s ease;
}


    #pfAccordion .accordion-button:hover {
        background-color: #e9ecef;
        color: #06072A;
    }


    #pfAccordion .accordion-button:not(.collapsed) {
        background-color: #E3F3F3 !important;
        border: 1px solid #65C6C0 !important;
        color: var(--primary-dark-blue) !important;
    }


#pfAccordion .accordion-body {
    background-color: #fff;
    padding: 1rem 1.25rem;
    color: var(--primary-dark-blue) !important;
}


/* Remove Bootstrap’s default chevron */
#pfAccordion .accordion-button::after {
    display: none !important;
}

/* Add your custom chevron */
#pfAccordion .accordion-button {
    position: relative;
    padding-right: 2.5rem; /* add space on the right */
}

    #pfAccordion .accordion-button::before {
        content: "";
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%) rotate(180deg);
        width: 19px;
        height: 19px;
        /* Use your SVG as background */
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'><rect x='18.5' y='18.7323' width='18' height='18' rx='9' transform='rotate(-180 18.5 18.7323)' fill='%23606060'/><path d='M14.5 10.9662C14.5 11.1767 14.433 11.3639 14.299 11.5042C14.031 11.8083 13.562 11.8083 13.294 11.5042L9.49721 7.55101L5.72278 11.5042C5.45477 11.8083 4.98576 11.8083 4.71776 11.5042C4.42741 11.2235 4.42741 10.7323 4.71776 10.4516L9.00586 5.96037C9.27387 5.65628 9.74288 5.65628 10.0109 5.96037L14.299 10.4516C14.433 10.592 14.5 10.7791 14.5 10.9662Z' fill='white'/></svg>") no-repeat center center;
        background-size: contain;
        transition: transform 0.3s ease;
    }

    /* Rotate when accordion is open */
    #pfAccordion .accordion-button:not(.collapsed)::before {
        transform: translateY(-50%) rotate(0deg);
    }


/**/
#pfNestedAccordion .accordion {
    border: none;
    --bs-accordion-border-color: transparent;
    border-radius: 10px !important;
}

#pfNestedAccordion .accordion-item {
    border: 1px solid #DEDEDE;
    border-radius: 10px !important;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

#pfNestedAccordion .accordion-header {
    background-color: #E3F3F3 !important;
    border: 1px solid #65C6C0 !important;
    border-radius: 10px 10px 0px 0px;
    color: #292C67 !important;
}

#pfNestedAccordion .accordion-button {
    color: #292C67;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.75rem 1rem;
    box-shadow: none;
    transition: background-color 0.2s ease;
}


    #pfNestedAccordion .accordion-button:hover {
        background-color: #e9ecef;
        color: #06072A;
    }


    #pfNestedAccordion .accordion-button:not(.collapsed) {
        background-color: #E3F3F3 !important;
        border: 1px solid #65C6C0 !important;
        color: var(--primary-dark-blue) !important;
    }


#pfNestedAccordion .accordion-body {
    background-color: #fff;
    padding: 1rem 1.25rem;
    color: var(--primary-dark-blue) !important;
}


/* Remove Bootstrap’s default chevron */
#pfNestedAccordion .accordion-button::after {
    display: none !important;
}

/* Add your custom chevron */
#pfNestedAccordion .accordion-button {
    position: relative;
    padding-right: 2.5rem; /* add space on the right */
}

    #pfNestedAccordion .accordion-button::before {
        content: "";
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%) rotate(180deg);
        width: 19px;
        height: 19px;
        /* Use your SVG as background */
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'><rect x='18.5' y='18.7323' width='18' height='18' rx='9' transform='rotate(-180 18.5 18.7323)' fill='%23606060'/><path d='M14.5 10.9662C14.5 11.1767 14.433 11.3639 14.299 11.5042C14.031 11.8083 13.562 11.8083 13.294 11.5042L9.49721 7.55101L5.72278 11.5042C5.45477 11.8083 4.98576 11.8083 4.71776 11.5042C4.42741 11.2235 4.42741 10.7323 4.71776 10.4516L9.00586 5.96037C9.27387 5.65628 9.74288 5.65628 10.0109 5.96037L14.299 10.4516C14.433 10.592 14.5 10.7791 14.5 10.9662Z' fill='white'/></svg>") no-repeat center center;
        background-size: contain;
        transition: transform 0.3s ease;
    }

    /* Rotate when accordion is open */
    #pfNestedAccordion .accordion-button:not(.collapsed)::before {
        transform: translateY(-50%) rotate(0deg);
    }



.table-striped {
    --bs-table-striped-bg: #f0f6ff; /* alt row background */
    --bs-table-striped-color: inherit; /* text color on striped rows */
}

/* If you also use hover, set that too */
.table-hover {
    --bs-table-hover-bg: #F1F4F8;
    --bs-table-hover-color: inherit;
}

/* If using .table-dark, override its variables separately */
.table-striped.table-dark {
    --bs-table-striped-bg: rgba(255,255,255,.08);
    --bs-table-striped-color: #fff;
}


/* First button (Old School) */
.delivery-details .btn-group > button:nth-child(1) {
    /* your styles here */
    background-color: #E3F3F3;
    border: 1px solid #65C6C0;
    color: var(--primary-dark-blue);
    border-radius: 50px 0px 0px 50px;
    font-weight: bold;
}

    .delivery-details .btn-group > button:nth-child(1).active {
        /* your styles here */
        background-color: #60C6C1;
        border: 1px solid #65C6C0;
    }

/* Second button (Savvy) */
.delivery-details .btn-group > button:nth-child(2) {
    /* your styles here */
    background-color: #E3F3F3;
    border: 1px solid #65C6C0;
    color: var(--primary-dark-blue);
    border-radius: 0px 50px 50px 0px;
    font-weight: bold;
}

    /* First button (Old School) */
    .delivery-details .btn-group > button:nth-child(2).active {
        /* your styles here */
        background-color: #60C6C1;
        border: 1px solid #65C6C0;
    }

.debi-logo {
    width: 200px
}


.final-page .card {
    padding: 0px;
    border-radius: 17px;
    background-color: #E6E6E6;
    position: relative;
    border-radius: 17px !important;
}

    .final-page .card .card-body {
        position: relative;
        z-index: 2; /* sits above header */
        padding: 20px;
        border-radius: 17px;
        border-bottom: 4px solid #ccc;
        background-color: #E6E6E6;
    }

        .final-page .card .card-body h3 {
            font-weight: 800;
            color: var(--primary-dark-blue);
        }

    .final-page .card .card-header {
        position: relative;
        z-index: 1; /* sits below body */
        background-color: var(--primary-dark-blue);
        padding: 20px 20px 35px 20px;
        border-radius: 17px 17px 0px 0px;
        margin-bottom: -17px;
    }

        .final-page .card .card-header h5 {
            color: #fff !important;
            font-size: 22px !important;
            font-weight: 700 !important;
        }

/* Fixed container in top-left; children stack vertically */
.sessionAlertContainer {
    position: fixed;
    top: 100px;
    right: 20px;
    z-index: 1050; /* above page content */
    width: 220px; /* or 200px to match your card width */
    pointer-events: none; /* clicks pass through unless overridden */
}

@media (max-width: 767.98px) {
    .sessionAlertContainer {
        display: none !important;
    }
}

/* Space between stacked cards */
.sessionAlertContainer .sessionAlertCard {
    margin-bottom: 12px;
    pointer-events: auto;
}

.sessionAlertCard .card {
    position: static !important;
    padding: 0px;
    border-radius: 17px;
    color: var(--primary-dark-blue) !important;
    position: relative; /* kept from your CSS */
    border-radius: 17px !important;
    width: 200px;
}

    .sessionAlertCard .card .card-body {
        position: relative;
        z-index: 2; /* sits above header */
        padding: 20px;
        border-radius: 0px 0px 17px 17px;
        background-color: var(--primary-dark-blue) !important;
        color: #fff !important;
    }

        .sessionAlertCard .card .card-body h3 {
            font-size: 16px;
            color: #fff !important;
        }

    .sessionAlertCard .card .card-header {
        display: flex;
        justify-content: center; /* keep flex layout */
        align-items: center;
        position: relative;
        z-index: 1; /* sits below body */
        background-color: var(--primary-dark-blue);
        padding: 20px; /* your original padding */
        padding-right: 44px; /* added: room for the close button */
        border-radius: 17px 17px 0px 0px;
    }

        .sessionAlertCard .card .card-header img {
            width: 27px; /* your size */
            position: absolute; /* added: perfect centering */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .sessionAlertCard .card .card-header h5 {
            color: #fff !important;
            font-size: 16px !important;
            font-weight: 700 !important;
        }

    /* Circular red close with white “X”, pinned to the right */
    .sessionAlertCard .card .btn-close {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: #F05657;
        opacity: 1;
        background-image: none;
    }

        .sessionAlertCard .card .btn-close::before,
        .sessionAlertCard .card .btn-close::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 12px;
            height: 2px;
            background-color: #fff;
            transform-origin: center;
        }

        .sessionAlertCard .card .btn-close::before {
            transform: translate(-50%, -50%) rotate(45deg);
        }

        .sessionAlertCard .card .btn-close::after {
            transform: translate(-50%, -50%) rotate(-45deg);
        }



.sessionAlertCard .btn-read-more {
    border-radius: 29px !important;
    border-top: 3px solid #2B8F8E !important;
    padding: 1px 27px !important;
    background-color: #63C6C1 !important;
    font-family: 'Open Sans' !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--primary-dark-blue) !important;
    height: 36px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Read-more button layout + chevron rotation */
.sessionAlertCard .btn-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}


    .sessionAlertCard .btn-read-more img {
        display: block;
        width: 18px;
        height: auto;
    }


.food-calculator h3 {
    font-size: 20px;
    color: var(--primary-dark-blue) !important;
}

.savings-circle {
    transform: scale(0); /* start small */
    opacity: 0; /* invisible */
    transition: transform 0.6s ease-out, opacity 0.6s ease-out;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background-color: var(--primary-dark-blue) !important;
    color: #fff;
    margin: 0 auto;
    text-align: center;
    /* hide without taking space */
    visibility: hidden;
    position: absolute; /* removes the blank gap */
}

    .savings-circle.active {
        transform: scale(1);
        opacity: 1;
        visibility: visible;
        position: static; /* back in normal flow */
        display: flex;
    }

.savings-label {
    font-size: 1rem;
}

.savings-amount {
    font-size: 1.6rem;
    font-weight: bold;
    white-space: nowrap; /* keep R and number together */
    margin: 0px;
    line-height: 100%;
}


.premium-price {
    color: var(--primary-dark-blue);
}

    .premium-price .card {
        border: 0px !important
    }

    .premium-price h1 {
        margin: 0px;
        padding: 0px;
    }

    .premium-price h4 {
        margin: 0px;
        padding: 0px;
    }

    .premium-price p {
        margin: 0px;
        padding: 0px;
    }

        .premium-price p:nth-child(4) {
            margin-bottom: 20px;
            margin-top: 5px;
            padding: 0px;
        }

    .premium-price a {
        color: var(--powder-blue);
    }


/************************************************/
/***************** VALIDATION ***************/
/************************************************/


.required-validate {
    font-size: 13px!important;
}
.error-border {
    border-color: red !important;
    border-width: 2px !important;
    border-style: solid !important;
}

.consent-lbl.error-label {
    color: red !important;
}

    .error-border:focus {
        outline: none;
        box-shadow: 0 0 5px rgba(255, 0, 0, 0.4);
    }

@media (min-width: 768px) and (max-width: 899px) {
    .plan-tooltip-btn {
        position: absolute;
        top: -10px; /* adjust vertical placement */
        right: -14px;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #333; /* Bootstrap primary blue */
        border: none;
    }
}
