/* ==========================
GLOBAL
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#fff9f2;
color:#111827;
overflow-x:hidden;
line-height:1.6;
}

.container{
width:92%;
max-width:1200px;
margin:auto;
}

/* ==========================
HERO SECTION
========================== */

.register-hero{
position:relative;
padding:140px 0 100px;
overflow:hidden;

background:
linear-gradient(
135deg,
#ffb347,
#ffcc33,
#ffd86f
);
}

.register-hero::before{

content:"";

position:absolute;

width:450px;
height:450px;

background:
rgba(255,255,255,.20);

border-radius:50%;

top:-150px;
right:-120px;

}

.hero-grid{

display:grid;

grid-template-columns:
1fr 1fr;

align-items:center;

gap:60px;

}

.hero-text h1{

font-size:64px;

line-height:1.1;

font-weight:800;

margin-bottom:22px;

color:#111;

}

.hero-text p{

font-size:18px;

line-height:1.8;

max-width:600px;

margin-bottom:35px;

}

.hero-tags{

display:flex;

flex-wrap:wrap;

gap:15px;

}

.hero-tags span{

padding:12px 22px;

background:white;

border-radius:60px;

font-weight:600;

box-shadow:
0 10px 25px
rgba(0,0,0,.08);

}

.hero-image{

position:relative;

min-height:350px;

display:flex;

align-items:center;

justify-content:center;

}

.floating-icon{

width:75px;
height:75px;

background:white;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

position:absolute;

box-shadow:
0 15px 35px
rgba(0,0,0,.12);

animation:
float 4s ease-in-out infinite;

}

.icon1{

top:40px;
left:60px;

}

.icon2{

bottom:40px;
right:60px;

animation-delay:1s;

}

.icon3{

top:45%;
left:0;

animation-delay:2s;

}

@keyframes float{

0%,100%{

transform:
translateY(0);

}

50%{

transform:
translateY(-15px);

}

}

/* ==========================
FORM SECTION
========================== */

.register-section{

padding:100px 0;

}

.register-card{

background:white;

padding:60px;

border-radius:40px;

box-shadow:
0 25px 80px
rgba(0,0,0,.08);

}

.register-heading{

text-align:center;

margin-bottom:50px;

}

.register-heading h2{

font-size:52px;

margin-bottom:12px;

}

.register-heading p{

font-size:18px;

color:#6b7280;

}

#registerForm{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:28px;

}

.input-group{

display:flex;

flex-direction:column;

}

.input-group label{

font-weight:600;

margin-bottom:10px;

font-size:15px;

}

.input-group input,
.input-group textarea{

padding:18px 20px;

border:none;

outline:none;

background:#fffdf8;

border-radius:18px;

font-size:15px;

border:2px solid #f3f4f6;

transition:.3s;

}

.input-group textarea{

height:160px;

resize:none;

}

.input-group input:focus,
.input-group textarea:focus{

border-color:#ff9800;

box-shadow:
0 0 0 5px
rgba(255,152,0,.12);

}

.full{

grid-column:1/-1;

}

.submit-btn{

grid-column:1/-1;

border:none;

padding:22px;

font-size:20px;

font-weight:700;

border-radius:70px;

cursor:pointer;

color:white;

background:
linear-gradient(
45deg,
#ff2f92,
#ff77b7
);

transition:.4s;

box-shadow:
0 15px 35px
rgba(255,47,146,.30);

}

.submit-btn:hover{

transform:
translateY(-6px);

box-shadow:
0 25px 45px
rgba(255,47,146,.35);

}

/* ==========================
CONTACT SECTION
========================== */

.contact-section{

padding:100px 0;

background:
linear-gradient(
135deg,
#fff5e7,
#ffffff
);

}

.contact-title{

text-align:center;

margin-bottom:60px;

}

.contact-title h2{

font-size:50px;

margin-bottom:15px;

}

.contact-title p{

color:#6b7280;

font-size:17px;

}

.contact-grid{

display:grid;

grid-template-columns:
repeat(5,1fr);

gap:25px;

}

.contact-card{

background:white;

padding:35px 25px;

border-radius:30px;

text-align:center;

text-decoration:none;

color:#111827;

box-shadow:
0 15px 40px
rgba(0,0,0,.06);

transition:.35s;

}

.contact-card:hover{

transform:
translateY(-10px);

box-shadow:
0 20px 50px
rgba(0,0,0,.10);

}

.contact-card i{

font-size:38px;

margin-bottom:18px;

color:#ff9800;

}

.contact-card h3{

font-size:20px;

margin-bottom:8px;

}

.contact-card p{

font-size:14px;

color:#6b7280;

word-break:break-word;

}

/* ==========================
EXTRA SECTIONS
========================== */

.join-benefits{

padding:110px 0;

text-align:center;

}

.join-benefits h2{

font-size:55px;

margin-bottom:60px;

}

.benefit-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.benefit-card{

background:white;

padding:45px;

border-radius:28px;

box-shadow:
0 15px 40px
rgba(0,0,0,.08);

transition:.4s;

}

.benefit-card:hover{

transform:
translateY(-12px);

}

.benefit-card h3{

margin-bottom:15px;

color:#ff9800;

font-size:26px;

}

.benefit-card p{

color:#6b7280;

line-height:1.8;

}

/* ==========================
FAQ
========================== */

.faq{

padding:100px 0;

background:#fff8ea;

}

.faq h2{

text-align:center;

font-size:52px;

margin-bottom:60px;

}

.faq-box{

max-width:850px;

margin:20px auto;

background:white;

padding:35px;

border-radius:25px;

box-shadow:
0 10px 30px
rgba(0,0,0,.06);

transition:.35s;

}

.faq-box:hover{

transform:
translateY(-8px);

}

.faq-box h3{

font-size:24px;

margin-bottom:12px;

color:#ff9800;

}

.faq-box p{

line-height:1.8;

color:#6b7280;

}

/* ==========================
CTA
========================== */

.register-cta{

padding:120px 0;

text-align:center;

background:
linear-gradient(
45deg,
#bc9018,
#f0d67c
);

color:white;

}

.register-cta h2{

font-size:60px;

margin-bottom:25px;

}

.register-cta p{

max-width:700px;

margin:auto;

font-size:18px;

line-height:1.8;

}

/* ==========================
ANIMATION
========================== */

@keyframes fadeUp{

from{

opacity:0;

transform:
translateY(60px);

}

to{

opacity:1;

transform:none;

}

}

.register-card,
.benefit-card,
.faq-box{

animation:
fadeUp 1s ease;

}

/* ==========================
TABLET
========================== */

@media(max-width:1024px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-tags{

justify-content:center;

}

.contact-grid{

grid-template-columns:
repeat(2,1fr);

}

#registerForm{

grid-template-columns:1fr;

}

.register-card{

padding:40px;

}

.hero-text h1{

font-size:50px;

}

}

/* ==========================
MOBILE
========================== */

@media(max-width:768px){

.register-hero{

padding:110px 0 70px;

}

.hero-text h1{

font-size:38px;

}

.hero-text p{

font-size:15px;

}

.register-heading h2,
.contact-title h2,
.join-benefits h2,
.faq h2{

font-size:34px;

}

.register-card{

padding:25px;

border-radius:25px;

}

.submit-btn{

font-size:17px;

padding:18px;

}

.contact-grid{

grid-template-columns:1fr;

}

.contact-card{

padding:28px;

}

.floating-icon{

width:58px;
height:58px;

font-size:24px;

}

.register-cta h2{

font-size:38px;

}

}

@media(max-width:500px){

.hero-text h1{

font-size:32px;

}

.hero-tags span{

font-size:14px;

padding:10px 18px;

}

.input-group input,
.input-group textarea{

padding:15px;

font-size:14px;

}

}



/* ==========================
SUCCESS POPUP
========================== */

.popup-overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:
rgba(0,0,0,.6);

backdrop-filter:
blur(6px);

z-index:9998;

animation:
fadeOverlay .35s ease;

}


.custom-popup{

position:fixed;

top:50%;
left:50%;

transform:
translate(-50%,-50%);

width:90%;
max-width:500px;

background:white;

padding:55px 45px;

border-radius:35px;

text-align:center;

z-index:9999;

box-shadow:
0 30px 90px rgba(0,0,0,.18);

animation:
popupShow .45s ease;

overflow:hidden;

}


/* TOP GLOW */

.custom-popup::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:8px;

background:
linear-gradient(
90deg,
#22c55e,
#4ade80,
#86efac
);

}


/* SUCCESS ICON */

.success-icon{

width:95px;
height:95px;

margin:auto auto 28px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:46px;

font-weight:800;

color:white;

background:
linear-gradient(
45deg,
#22c55e,
#4ade80
);

box-shadow:
0 18px 40px rgba(34,197,94,.35);

animation:
successPop .6s ease;

}


/* HEADING */

.custom-popup h3{

font-size:40px;

line-height:1.2;

margin-bottom:16px;

color:#111827;

font-weight:800;

}


/* TEXT */

.custom-popup p{

font-size:18px;

line-height:1.8;

color:#6b7280;

margin-bottom:28px;

}


/* COUNTDOWN */

.countdown{

display:inline-block;

padding:14px 24px;

border-radius:60px;

background:
#fff7ed;

font-size:17px;

font-weight:600;

color:#ea580c;

}

.countdown span{

font-size:34px;

font-weight:800;

margin:0 6px;

color:#111827;

}


/* ANIMATIONS */

@keyframes popupShow{

from{

opacity:0;

transform:
translate(-50%,-42%)
scale(.85);

}

to{

opacity:1;

transform:
translate(-50%,-50%)
scale(1);

}

}


@keyframes fadeOverlay{

from{

opacity:0;

}

to{

opacity:1;

}

}


@keyframes successPop{

0%{

transform:scale(.5);

opacity:0;

}

70%{

transform:scale(1.1);

}

100%{

transform:scale(1);

opacity:1;

}

}


/* BUTTON LOADING */

.submit-btn{

transition:
.35s ease;

}

.submit-btn:disabled{

opacity:.75;

cursor:not-allowed;

transform:none;

}


/* MOBILE */

@media(max-width:768px){

.custom-popup{

padding:40px 25px;

border-radius:28px;

}

.success-icon{

width:78px;
height:78px;

font-size:36px;

margin-bottom:22px;

}

.custom-popup h3{

font-size:30px;

}

.custom-popup p{

font-size:16px;

}

.countdown{

font-size:15px;

padding:12px 20px;

}

.countdown span{

font-size:28px;

}

}



/* RATE YOURSELF SECTION */

.rating-section{
    grid-column:1/-1;
    margin-top:20px;
    text-align:center;
}

.rating-section h3{
    font-size:42px;
    font-weight:800;
    margin-bottom:40px;
    color:#111827;
}

.rating-question{
    margin-bottom:45px;
}

.rating-question p{
    font-size:20px;
    font-weight:600;
    margin-bottom:20px;
    color:#374151;
    text-align:left;
}

.rating-options{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
}

.rating-options input{
    display:none;
}

.rating-options label{
    width:55px;
    height:55px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    font-weight:700;
    font-size:18px;

    border:2px solid #d1d5db;

    background:#fff;

    color:#4b5563;

    transition:.35s ease;
}

/* Hover */

.rating-options label:hover{
    transform:translateY(-4px);
}

/* 1-3 RED */

.rating-options input[value="1"]:checked + label,
.rating-options input[value="2"]:checked + label,
.rating-options input[value="3"]:checked + label{
    background:#ef4444;
    border-color:#ef4444;
    color:#fff;
    box-shadow:0 10px 25px rgba(239,68,68,.35);
    transform:scale(1.15);
}

/* 4-6 ORANGE */

.rating-options input[value="4"]:checked + label,
.rating-options input[value="5"]:checked + label,
.rating-options input[value="6"]:checked + label{
    background:#f97316;
    border-color:#f97316;
    color:#fff;
    box-shadow:0 10px 25px rgba(249,115,22,.35);
    transform:scale(1.15);
}

/* 7-8 YELLOW */

.rating-options input[value="7"]:checked + label,
.rating-options input[value="8"]:checked + label{
    background:#facc15;
    border-color:#facc15;
    color:#111;
    box-shadow:0 10px 25px rgba(250,204,21,.35);
    transform:scale(1.15);
}

/* 9-10 GREEN */

.rating-options input[value="9"]:checked + label,
.rating-options input[value="10"]:checked + label{
    background:#22c55e;
    border-color:#22c55e;
    color:#fff;
    box-shadow:0 10px 25px rgba(34,197,94,.35);
    transform:scale(1.15);
}

/* MOBILE */

@media(max-width:768px){

    .rating-section h3{
        font-size:32px;
    }

    .rating-question p{
        font-size:16px;
        text-align:center;
    }

    .rating-options{
        gap:8px;
    }

    .rating-options label{
        width:42px;
        height:42px;
        font-size:15px;
    }
}








.input-group select{
    padding:18px 20px;
    border:none;
    outline:none;
    background:#fffdf8;
    border-radius:18px;
    font-size:15px;
    border:2px solid #f3f4f6;
    transition:.3s;
    width:100%;
}

.input-group select:focus{
    border-color:#ff9800;
    box-shadow:0 0 0 5px rgba(255,152,0,.12);
}



.input-group input,
.input-group textarea,
.input-group select{

    padding:18px 20px;

    border:none;

    outline:none;

    background:#fffdf8;

    border-radius:18px;

    font-size:15px;

    border:2px solid #f3f4f6;

    transition:.3s;

    width:100%;
}

.input-group select:focus{

    border-color:#ff9800;

    box-shadow:
    0 0 0 5px rgba(255,152,0,.12);
}