html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.ev_content_wrapper {
    display: flex;
    flex-grow: 1;
    width: 100%;
}
* {box-sizing: border-box;}
.ev_left {float:left;}
.ev_right {float:right;}
.ev_fullwidth {width:100%;}
.ev_halfwidth {width: 50%;}
.ev_boxes {
    padding: 0 6%;
    display: flex;
    flex-direction: column;
}
.ev_blueback {
    background: url("hero_bck.png");
    background-repeat: no-repeat;
    background-color: #161530;
    background-size: cover;
    background-position: center center;
    padding: 11em 6% 15em;
    flex: 1;
}
.ev_blueback p {
    margin-bottom: 2em;
}
.ev_greyback {
    background: #ebebeb;
    /*padding: 3em 6% 7em; */
    padding-top: 3em;
    flex: 1;
}
.ev_blueback * {color: #fff;}
.ev_bluetxt {color: #20a5de;}
h1,h2,h3 {font-weight: 600;}
h1 {font-size: 50px;}
.ev_blueback h3 {font-size: 20px;}
a {text-decoration: none;}
.ev_drkbtn, .ev_bdrbtn {
    border: 2px solid #20a5de;
    border-radius: 6px;
    font-size: 14px;
    line-height: 72px;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    width: 49%;
}
.ev_button_wrapper {
    width: 100%;
    margin-top: auto;
    margin-bottom: 2em;
    display: flex;
    justify-content: space-between;
    gap: 2%;
}
.ev_button_wrapper img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
}
.ev_drkbtn {background: #20a5de; color: #fff;}
.ev_bdrbtn {color: #20a5de;}
ul {margin: 0;padding: 0;list-style-type: none;}
.ev_plans {
    /* margin: auto 0; */ /* Removed for natural flow */
    margin-bottom: 2em; /* Added to create space above the button wrapper below */
}
.ev_plans .ev_planmain {
    margin: 40px 0;
    border: 3px solid #d7d7d7;
    border-radius: 10px;
    padding: 42px 36px 42px 110px;
    background: #fff;
    color: #161530;
    position: relative;
    cursor: pointer;
}
.ev_plans .ev_planmain:before {
    content: "";
    position: absolute;
    top: -48px;
    left: 0;
    width: 100%;
    float: left;
    height: 96px;
    z-index: 99;
}
.ev_plans .ev_planmain:first-child:before {
    background: url("plan1.png") no-repeat center center;
}
.ev_plans .ev_planmain:last-child:before {
    background: url("plan2.png") no-repeat center center;
}
.ev_plans .ev_planmain:last-child {padding: 0;margin-bottom: 0;}
.ev_plans h2 {font-size: 17px;margin: 8px 0;float: left;width: 100%;height: 25px;} 
.ev_plans h2 .ev_pricetxt {font-size: 30px;font-weight: 400;transform: translate(0, -8px);} 
.ev_plans h2 .ev_price {font-weight: 600;} 
.ev_plans h3 {font-size: 16px;font-weight: 500;margin: 5px 0;float: left;width: 100%;} 
.ev_plans p {font-size: 9px;font-weight: 300;font-style: italic;margin: 0;float: left;width: 100%;} 
.ev_planssub li {padding: 20px 36px 20px 110px;float: left;width: 100%;}
.ev_planssub li:first-child {
    padding-top: 62px;
}
.ev_greyback a {width: 100%;}
.ev_greyback .ev_btnctnter {margin: 18px 0;}
.ev_greyback .ev_discount {color: #161530 !important;font-size: 18px;font-weight: 500;margin: 5px 0;line-height: 35px;border-radius: 6px;padding: 0 12px;width: 160px;font-style: normal;background: #f2b523;float: left;}
.ev_greyback .ev_bestvalue {
    position: absolute;
    top: 0;
    right: 36px;
    background: #20a5de;
    color: #fff;
    font-size: 15px;
    font-style: normal;
    line-height: 42px;
    padding: 0 20px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    z-index: 99;
    width: auto;
}
.ev_copyright_text, .ev_poweredby_text {
    font-size: 14px;
    margin-top: auto; /* Push to bottom of the column */
    padding-top: 2em; /* Space above the text */
    padding-bottom: 2em; /* Space at the very bottom of the column */
    width: 100%; /* Ensure it spans to allow text-align */
    box-sizing: border-box;
}
.ev_blueback .ev_copyright_text {
    color: #fff;
    text-align: left;
}
.ev_greyback .ev_poweredby_text {
    color: #161530; /* Dark text for grey background */
    text-align: right;
}
.ev_plans .ev_selected {
    background: #20a5de;
    color: #fff;
    border-color: #20a5de;
}
.ev_plans .ev_selectedmain {
    border-color: #20a5de;
}
.ev_plann {
    position: relative;
}
.ev_plann:after {
    content: "";
    position: absolute;
    top: 0;
    left: 36px;
    float: left;
    width: 38px;
    height: 100%;
    background: url("radio.png") no-repeat;
}
.ev_plann.ev_selected:after {
    background: url("radio_selected.png") no-repeat;
}
.ev_thisplan1.ev_plann:after {
    background-position: center 45px;
}
.ev_thisplan2.ev_plann:after {
    /* Overrides for specific alignment with H2 */
    height: 38px; /* Match width for a square icon box */
    top: 64px; /* Position to align with H2 */
    background-position: center center; /* Center image in the 38x38 box */
    background-size: contain; /* Ensure image fits if it's larger */
}
.ev_thisplan3.ev_plann:after {
    background-position: center 26px;
}
.ev_thisplan2 .ev_features_list {
    padding: 0 !important;
    margin: 15px 0 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
}
.ev_thisplan2 .ev_features_list li {
    padding-left: 25px !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
}
.ev_thisplan2 .ev_features_list li:before {
    content: "•";
    position: absolute !important;
    left: 8px !important;
    color: #20a5de !important;
    font-size: 18px !important;
    line-height: 1 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
.ev_planmain.ev_selected .ev_features_list li,
.ev_thisplan2.ev_selected .ev_features_list li {
    color: #fff !important;
}
.ev_planmain.ev_selected .ev_features_list li:before,
.ev_thisplan2.ev_selected .ev_features_list li:before {
    color: #fff !important;
}
.ev_thisplan2.ev_plann > .ev_features_list {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.ev_thisplan2.ev_plann > .ev_features_list li {
    padding: 0;
}
@media (max-width: 1450px) {

    
    .ev_blueback,
    .ev_greyback {
        justify-content: center; /* Vertically center content within columns */
    }

    .ev_blueback {
        padding: 0em 4% 10em;
        background-position: 10% 0%;
    }
    .ev_blueback .first_hd {
        margin-left: 0; /* Ensure no negative left margin */
        max-width: 100%; /* Prevent overflow beyond parent's content box */
        box-sizing: border-box; /* Reinforce box model */
    }
    .ev_greyback {
        padding: 2em 4% 4em;
    }
    h1 {
        font-size: 42px;
    }

    /* Adjustments for radio button icons on laptop displays */
    .ev_plann:after {
        width: 30px;    /* Smaller width */
        height: 30px;   /* Smaller height */
        top: 50px;      /* Align top of icon box with top of H2 text */
        /* left: 36px; is the default, this should work with parent padding */
        background-size: contain; /* Scale image to fit */
        /* Note: background-position will be overridden by more specific rules below, then we re-override those */
    }

    .ev_plann.ev_selected:after {
        background-size: contain; /* Ensure selected image also scales */
        background-position: center center; /* And is centered */
    }

    .ev_thisplan1.ev_plann:after,
    .ev_thisplan2.ev_plann:after {
        background-position: center center; /* Center the image in the new 30x30 box */
    }
    /* End radio button icon adjustments */

    /* Adjust badge icon positioning for laptops */
    /* .ev_plans .ev_planmain:before {
        top: 0; 
    } */ /* Reverted this change */

    /* Override margin-top: auto for true vertical centering of all content */
    .ev_blueback .ev_button_wrapper,
    .ev_greyback .ev_button_wrapper,
    .ev_copyright_text,
    .ev_poweredby_text {
        margin-top: 2em; /* Adjust as needed for spacing */
    }
}
@media (min-width: 1141px) and (max-width: 1440px) {
    /* .ev_greyback .ev_button_wrapper { ... } */ /* This was previously commented out */
    .ev_plans .ev_planmain {
        margin: 50px 0; /* Increased from 20px 0 for more vertical spacing */
    }

    li.ev_thisplan1 > h2 {
        margin-top: 25px; /* Add top margin to the first plan H2 */
    }

    .ev_thisplan1.ev_plann:after {
        top: 65px; /* Increased from 75px to lower the icon */
    }

    .ev_thisplan2.ev_plann:after {
        top: 64px; /* Set specific top for this range to align with its H2 */
    }

    .ev_plans .ev_planmain {
        padding-left:75px;
    }

     .ev_planmaintwo .ev_planssub li {
        padding-left:75px;
    }
}
@media (max-width: 1140px) {
    .ev_content_wrapper {
        flex-direction: column; /* Stacks the two main columns */
    }
    .ev_boxes {
        width: 100%; /* Ensures columns take full width when stacked */
        min-height: auto; /* Allows height to adjust to content when stacked */
    }
    .ev_blueback, .ev_greyback {
        padding: 4em 6%; /* Retains original padding for stacked view */
        /* min-height: auto; */ /* Covered by .ev_boxes min-height: auto */
    }
    .ev_drkbtn, .ev_bdrbtn { 
        width: 100%; 
        margin: 8px 0; 
    }
    .ev_button_wrapper {
        flex-direction: column;
        gap: 0;
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .ev_blueback p {
        margin-bottom: 1.5em;
    }
    .ev_greyback .ev_bestvalue {right: 8px;}
    .ev_plans h2 {
        height: auto;
    }
    .ev_plann:after {
        background-position: center center !important;
    }
    .ev_plans h2 .ev_pricetxt {
        transform: none;
        float: left;
        width: 100%;
    }

    /* Footer adjustments for mobile */
    .ev_copyright_text, .ev_poweredby_text {
        /* Styles for these when in-column on desktop are defined elsewhere */
        /* This just hides them when columns stack */
        display: none; 
    }

    .ev_combined_footer {
        display: block !important; /* Added !important to ensure override */
        visibility: visible;
        position: relative;
        z-index: 99999; /* Keep for now */
        background: #161530;
        color: #fff;
        padding: 1em 0; /* Restored original padding */
        width: 100%;
        box-sizing: border-box;
        margin-top: auto; /* Restored to push to bottom */
        /* min-height: 50px; */ /* Removed specific min-height, let content dictate or add fit-content if needed */
        /* border-top: 5px solid red; */ /* Removed diagnostic border */
        clear: both; /* Keep for now, can evaluate later */
    }
    .ev_combined_footer p {
        text-align: center;
        margin: 8px 10%; /* Some vertical margin and horizontal for text centering */
        line-height: 25px;
    }
    /* End Footer adjustments for mobile */

    .ev_plans .ev_planmain {
        padding: 140px 15px 15px 15px;
    }
    .ev_plann:after {
        top: 75px;
        left: 0;
        width: 100%;
        height: 38px;
    }
    .ev_planssub li:first-child {
        padding-top: 132px;
    }
    .ev_planssub li {
        padding: 140px 20px 20px 20px;
    }
}
@media (max-width: 800px) {
h1{font-size:42px;}
    .ev_blueback, .ev_greyback {padding: 4em 2em;}
    .ev_drkbtn, .ev_bdrbtn { width: 100%; margin: 8px 0; }
    .first_hd {
        margin-top:4em;
    }
}
.ev_features_list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
}
.ev_features_list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.4;
    display: flex;
    align-items: center;
}
.ev_features_list li:before {
    content: "•";
    position: absolute;
    left: 8px;
    color: #20a5de;
    font-size: 18px;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
}

.ev_combined_footer {
    display: none; /* Hidden by default, shown on mobile */
}

.ev_plans .ev_selected {
    /* .ev_footer p:last-child { ... } */

    .ev_copyright_text, .ev_poweredby_text {
        text-align: center !important; /* Override for stacked view */
        padding-top: 1em;
        padding-bottom: 1em;
        display: none; /* Hide in-column footers on mobile */
    }

    .ev_combined_footer {
        display: block !important; /* Force display */
        visibility: visible !important; /* Force visibility */
        position: relative; /* Ensure z-index applies */
        z-index: 99999; /* Bring to front */
        background: #161530;
        color: #fff;
        padding: 1em 0;
        width: 100%;
        box-sizing: border-box;
    }
    .ev_combined_footer p {
        text-align: center;
        margin: 5px 0; /* Add some spacing between stacked items */
        line-height: 25px;
    }

    .ev_plans .ev_planmain {
        padding: 140px 15px 15px 15px;
    }
}