body{
    padding : 0;
    margin : 0;
    box-sizing : border-box;
}

:root{
    --primary-font: "Poppins", sans-serif;
    --secondary-font: "Poppins", sans-serif;
    --third-font: "Poppins", sans-serif;
    --primary: #673de6;
    --gold: #ffb830;
    --dark: #120A1F;
    --semi-dark: #1a1b2e;
    --semi-dark-2: #212235;
    --text-gray: #9193a8;
    --red: #ec625f;
    --border: #e2e9ee;
    --light: #f4f8fb;
}

body.light-theme{
    background : #fff;
}

body{
    font-family: var(--secondary-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    overflow-x: hidden;
    cursor: default;
}

/*HERO SECTION*/


.aff-hero-section{
  background-image: url('../../images/pages/affiliates/aff-bg-img.webp');
  height : auto;
  position :relative;
  padding : 80px 0 80px 0;
  z-index : 1;
  background-size: cover;
  background-position: center 50%;
  background-repeat: no-repeat;
  overflow : visible;
  margin-bottom : 4rem;
}

.hero-container{
    display: flex;
    justify-content: center;   
    align-items: center;       
    text-align: center;  
}


.container{
    max-width: 1600px;
    width: 100%;
    padding: 0 4vw;
    margin: 0 auto;
}

.hero-image-container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}    

.hero-content{
    width: 100%; 
    margin : 30px 0;
}


.hero-image{
    max-width : 100%;
}

.hero-section-heading{
   max-width: 950px;
    margin: 0 auto 50px;
    text-align : center;
}


.aff-hero-section .section-heading-container{
    color : #fff;
}


.aff-hero-section .section-heading{
    color : #fff;
}


.hero-heading{
    font-size: 17px;
    color: #fff;
    font-weight: 500;
    margin-bottom: 10px;
}

.hero-title{
    font-weight: 700;
    font-size: clamp(2.01rem, calc(.5rem + 2.9004vw), 2.500rem);;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 15px
}


.hero-btn-container{
    display: inline-block;
    border: 1px solid #ffffff3d;
    border-radius : 10px;
    justify-content: center;
    margin: 0 auto;   
    padding: 16px 20px;
    border-radius: 10px;
}


.hero-button{
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    color: #ffffff;
}


.hero-btn-container:hover{
     background : #fff;
}

.hero-btn-container:hover .hero-button{
    color : #673de6;
}

.hero-cta{
    color: #fff;
    margin-top: 20px;
}

.hero-cta-link{
    text-decoration : underline;
    font-weight: 600;
    color: #fff;
}

/*STATE NUMBERS*/

.state-numbers-section{
    margin :4rem 0;
    padding :3vw 0;
    background : #fff;
}

.state-cards{
    position: relative;
}

.bg-shape {
  position: absolute;
  border-radius: 20px;
  z-index: 0;
}

.shape-1 {
  width: 430px;
  height: 210px;
  background: linear-gradient(135deg, #6a11cb, #2575fc);
  top: -14px;
  opacity: 0.6;
}

.shape-2 {
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #6a11cb, #2575fc);
  bottom: -50px;
  right: -50px;
  opacity: 0.6;
}

.shape-3 {
  width: 420px;
  height: 210px;
  background: linear-gradient(135deg, #6a11cb, #2575fc);
  top: 35.5%;
  opacity: 0.6;
}

.state-numbers-container{
    display: flex;
    justify-content: space-between;
    gap : 40px;
    align-items: center;
    margin: 36px auto 0;
    position: relative;
}

.section-heading-container{
    max-width: 950px;
    margin: 0 auto 50px;
    text-align : center;
}

.highlight{
    color : var(--primary);
}

.section-heading{
    font-size: 16px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 10px;
    text-transform: uppercase;
}

.section-title{
    font-family: var(--primary-font);
    font-size: clamp(2.01rem, calc(.5rem + 2.9004vw), 2.500rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 25px;
}

.amount{
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    background :var(--primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: #fff0;
     margin-bottom : 14px;
}

.description{
    font-size : 14px;
    font-weight : 600;
    text-align : center;
    margin-bottom : 18px;
    color : var(--text-gray);
}

.state-numbers::before{
    filter: blur(8px);
    opacity: 0.8;
}

.state-numbers{
    position:relative;
    flex: 1;                  
    min-height: 200px;       
    display: flex;
    flex-direction: column;
    justify-content: center;  
    align-items: center;
    padding: 20px 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    background : #fff;
    text-align: center;
    z-index : 2;
}

.state-numbers::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    border-radius: 20px;
    background: linear-gradient(135deg, #8e2de2, #4a00e0, #00c6ff);
    
    -webkit-mask: 
      linear-gradient(#fff 0 0) content-box, 
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    z-index: -1;
}

.state-numbers.refer{
    min-height : 200px;
}

.state-description{
    font-size: 14px;
    font-weight: 500;
    text-align: center ;
    color: var(--text-gray);
    max-width: 500px;
}

.rating-bottom{
    display: block;
    width: 100%;
    height: 2px;
    background: #1816160a;
    margin-bottom: 10px;
}

/*STEPS SECTION*/

/*.steps-section{*/
/*    margin: 4vw 0;*/
/*    padding: 3vw 0;*/
/*    background: #673de6;*/
/*}*/

/*.steps-section .section-heading-container{*/
/*    color:#fff;*/
/*}*/

/*.steps-section .section-heading{*/
/*    color : #fff;*/
/*}*/

/*.steps-container{*/
/*    margin : 0 3vw;*/
/*}*/

/*.step-box-container{*/
/*    display: flex;*/
/*    flex-direction: row;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    gap :30px;*/
/*}*/

/*.step-content-box{*/
/*    padding : 10px;*/
/*}*/

/*.content-box-heading{*/
/*    font-size : 45px;*/
/*    color :#fff;*/
/*    text-align : center;*/
/*}*/

/*.step-box{*/
/*    display: flex;*/
/*    flex-direction: row;*/
/*    gap: 8px;*/
/*    align-items: flex-start;*/
/*    padding : 10px;*/
/*    color : #fff;*/
/*    border: 1px solid #ffffff24;*/
/*    border-radius: 8px;*/
/*}*/

/*.step-heading { */
/*    font-size : 18px;*/
/*}*/

/*.steps-img-container{*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*}*/

/*.steps-img{*/
/*    width : 100%;*/
/*    height : auto;*/
/*}*/


/*GROWTH SECTION*/

.growth-section{
    padding : 4vw 0;
    margin : 3rem 0;
    background : var(--primary);
}

.growth-section .section-heading-container{
    color : #fff;
}

.growth-section .section-heading{
    color : #fff;
}

.growth-box-wrap{
    padding : 30px 0;
}

.growth-arrow-mobile{
    display : none;
}

.growth-box-container{
   display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    align-items : center;
}

.growth-box{
    display: flex;
    flex-direction: column;
    padding: 20px 28px;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid #ffffff1f;
}

.growth-box:hover {
    border-color :#ffffff5e;
}

.growth-img-container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    margin-bottom : 20px;
}

.growth-img{
    width : 100%;
    height : auto;
}

.growth-heading{
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 10px;
}

.growth-description{
    color : #fff;
}


/*PROMOTE SECTION */

.promote-section{
    padding : 3vw 0;
    margin : 4rem 0;
}


.promote-container{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap : 40px;
    align-items : center;
}

.promote-img-container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
}

.promote-img{
    max-width : 100%;
    height : auto;
}

.promote-content-wrap{
    width : 50%;
    padding : 40px 0;
}


.promote-item{
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom : 25px;
}

.promote-icon-container{
    max-width: 32px;
    height: 32px;
    flex-shrink: 0;   
    display: flex;
    align-items: center;
    justify-content: center;
}


.promote-icon{
    width : 100%;
    height : auto;
}

.promote-heading{
    margin-bottom : 8px;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.promote-bottom{
    display: block;
    width: 100%;
    height: 1.6px;
    background: #0000001f;
    margin-top: 20px;
}

.promote-content-items{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/*PROGRAM SECTION*/

.program-section{
    padding : 3vw 0;
    margin : 4rem 0;
}

.program-wrap{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap : wrap;
}

.program-content-wrap{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.program-container{
    border: 1px solid #d9d4d445;
    align-items: center;
    justify-items: center;
    border-radius: 30px;
    background : #f0e6ff;
   
}

.program-list-wrap.set-1{
    list-style: none;
    display: flex;
    flex-direction: column;
    padding : 30px 0 30px 30px;
}

.program-list-wrap.set-2{
    list-style : none;
    padding :30px 0px 30px 30px;
}

.program-list-item{
    padding: 8px 0;
    position: relative;
    padding-left: 20px;
}

.program-list-item:before{
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: bold;
}

.program-icon-container{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
}

.check-icon{
    width : 100%;
    height : auto;
}

.program-img-container{
    display: flex;
    justify-content: center;
    align-items: center;
    height : stretch;
}

.program-content-wrap,
    .program-img-container{
        flex: 0 0 50%;   
        max-width: 50%;
    }

.program-img{
    width : 100%;
    height : stretch;
}

.program-img.set-1{
    border-bottom-right-radius: 30px;
    border-top-right-radius: 30px;
}

.program-subtitle{
    margin-bottom: 30px;
    font-size: 22px;
    font-weight: 600;
}

/*CHOOSE SECTION*/

.choose-section{
    padding : 3vw 0;
    margin : 4rem 0;
}


.choose-wrapper{
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 25px; 
}

.choose-item{
    border: 1px solid #4c17ef30;
    flex-direction: column;
    justify-content: flex-start;
    padding: 30px;
    border-radius : 20px;
}


.choose-subtitle{
    font-size : 18px;
    font-weight : 600;
    margin-bottom : 10px;
}

.program-container.set-2{
    margin-top : 20px;
    background : #ECEDF9;
}

.program-img.set-2{
    border-bottom-left-radius: 30px;
    border-top-left-radius: 30px;
}

.choose-img{
    width : 60px;
    height : 60px;
}


@media (max-width : 1200px){
    .container {
        max-width : 1140px;
    }
}

@media (max-width : 992px){
    .container {
        max-width : 960px;
    }
}

@media (max-width : 768px){
    .container { 
        max-width : 760px;
}
}

@media (max-width : 576px){
    .container {
        max-width : 600px;
    }
}

@media (max-width : 768px){
    .choose-wrapper{
        grid-template-columns: repeat(2, 1fr);
    }
    
    .promote-container{
        flex-direction : column;
        gap : 20px;
    }
    .promote-img-container{
        width : 100%;
    }
    .promote-content-wrap{
        width : 100%;
        padding-bottom : 0px;
    }
    .state-numbers-container{
        gap : 20px;
    }
    .growth-box-container{
        flex-direction : column;
    }
    .growth-arrow{
        display : none;
    }
    .growth-arrow-mobile{
        display : block;
        display: block;
        width: 100px;
        height: 100px;
    }
    .program-wrap{
        flex-direction : column-reverse;
    }
    
    .program-content-wrap,
    .program-img-container{
        flex: 0 0 100%;   
        max-width: 100%;
    }
    .program-img.set-1{
        border-top-left-radius: 30px;
        border-bottom-right-radius: 0;
    }
    .program-list-wrap.set-1, .program-list-wrap.set-2 {
        padding : 25px;
    }
    .program-img.set-2{
        border-bottom-right-radius: 30px;
        border-top-left-radius: 0;
    }
    .promote-item.last{
        margin-bottom : 0;
    }
    .section-title{
        font-size : 26px;
    }
    .hero-button{
        font-size : 16px;
    }
}

@media (max-width : 576px){
    .state-numbers-container{
        flex-direction : column;
    }
    .state-numbers{
        width : 100%;
    }
    .choose-wrapper {
         grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width : 480px){
    .state-numbers {
        padding : 10px 22px;
    }
}

.faqs.py-90{
    background-color :#ecf4fa;
}