/* =========================================================
   CELEBRITY SIGNUP - FLORIA STYLE
   2 FIELDS PER ROW + CENTERED FORM
========================================================= */

.celeb-signup-container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

/* Main card */
.celeb-signup-container .signup-card {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    box-sizing: border-box;
}

/* Heading */
.celeb-signup-container .signup-card h2 {
    margin: 0 0 10px;
    text-align: center;
    color: #4e342e;
}

/* Subtitle */
.celeb-signup-container .signup-subtitle {
    margin: 0 0 35px;
    text-align: center;
    color: #777;
}

/* =========================================================
   ROW = ALWAYS 2 COLUMNS ON DESKTOP
========================================================= */

.celeb-signup-container .row {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 35px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* Each field = 50% */
.celeb-signup-container .row .form-group.half {
    width: calc(50% - 17.5px) !important;
    max-width: calc(50% - 17.5px) !important;
    flex: 0 0 calc(50% - 17.5px) !important;
    box-sizing: border-box;
}

/* =========================================================
   NORMAL FIELD
========================================================= */

.celeb-signup-container .form-group {
    width: 100%;
    margin-bottom: 28px;
    box-sizing: border-box;
}

/* Labels */
.celeb-signup-container .form-group label {
    display: block;
    width: 100%;
    margin-bottom: 8px;
    color: #5d4037;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

/* Required star */
.celeb-signup-container .required {
    color: #d32f2f;
}

/* Inputs + textarea */
.celeb-signup-container .form-group input,
.celeb-signup-container .form-group textarea {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    padding: 12px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #d9d9d9 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;

    color: #333;
    font-size: 15px;
    line-height: 1.5;

    box-sizing: border-box;
}

/* Textarea */
.celeb-signup-container .form-group textarea {
    min-height: 100px;
    resize: vertical;
}

/* Placeholder */
.celeb-signup-container .form-group input::placeholder,
.celeb-signup-container .form-group textarea::placeholder {
    color: #999;
    opacity: 1;
}

/* Focus */
.celeb-signup-container .form-group input:focus,
.celeb-signup-container .form-group textarea:focus {
    border-bottom-color: #8a9a5b !important;
}

/* =========================================================
   FULL WIDTH ADDRESS
========================================================= */

.celeb-signup-container #billing_address {
    width: 100% !important;
}

/* =========================================================
   ERROR
========================================================= */

.celeb-signup-container .error-message {
    display: block;
    min-height: 18px;
    margin-top: 5px;
    color: #ff5b4a;
    font-size: 13px;
}
 .celeb-signup-container .otp-error {
    display: block !important;
    width: 100%;
    min-height: 0 !important;
    height: auto;
    margin: -15px 0 15px !important;
    padding: 0 !important;

    color: #ff5b4a !important;
    font-size: 13px !important;
    line-height: 1.4;
    text-align: center;
}
/* Error input */
.celeb-signup-container input.error,
.celeb-signup-container textarea.error {
    border-bottom-color: #ff5b4a !important;
}

/* =========================================================
   BUTTON CENTER
========================================================= */

.celeb-signup-container #send-otp-btn {
    display: block;
    width: auto !important;
    min-width: 190px;
    margin: 10px auto 0 !important;
    padding: 14px 35px !important;

    border: none !important;
    border-radius: 0 !important;

    background: #71b347 !important;
    color: #fff !important;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;

    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

/* Button hover */
.celeb-signup-container #send-otp-btn:hover {
    background: #71b347 !important;
    color: #fff !important;
}

/* =========================================================
   LOGIN LINK
========================================================= */

.celeb-signup-container .login-link {
    margin-top: 25px !important;
    text-align: center !important;
    color: #777;
    font-size: 14px;
}

.celeb-signup-container .login-link a {
    color: #87965b;
    font-weight: 600;
    text-decoration: none;
}

.celeb-signup-container .login-link a:hover {
    text-decoration: underline;
}

/* =========================================================
   OTP
========================================================= */

.celeb-signup-container .otp-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 35px 0;
}

.celeb-signup-container .otp-input {
    width: 48px !important;
    height: 52px;
    padding: 0 !important;

    border: 1px solid #d7d7d7 !important;
    border-radius: 4px !important;

    text-align: center;
    font-size: 20px;
    font-weight: 600;
    box-sizing: border-box;
}

.celeb-signup-container .otp-input:focus {
    border-color: #87965b !important;
    outline: none;
}

.celeb-signup-container .otp-footer {
    text-align: center;
    margin-top: 20px;
}

.celeb-signup-container .link-btn {
    border: none;
    background: transparent;
    color: #87965b;
    cursor: pointer;
    font-weight: 600;
}

/* =========================================================
   IMPORTANT: REMOVE OLD GLOBAL RULE EFFECT
========================================================= */

.celeb-signup-container .row::before,
.celeb-signup-container .row::after {
    display: none !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767px) {

    .celeb-signup-container {
        max-width: 100%;
        padding: 15px;
    }

    .celeb-signup-container .signup-card {
        max-width: 100%;
    }

    /* ONE FIELD PER ROW ON MOBILE */
    .celeb-signup-container .row {
        display: block !important;
        width: 100% !important;
    }

    .celeb-signup-container .row .form-group.half {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .celeb-signup-container .form-group {
        margin-bottom: 24px;
    }

    .celeb-signup-container #send-otp-btn {
        width: 100% !important;
        max-width: 320px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .celeb-signup-container {
        padding: 10px;
    }

    .celeb-signup-container .signup-card h2 {
        font-size: 24px;
    }

    .celeb-signup-container .form-group input,
    .celeb-signup-container .form-group textarea {
        font-size: 14px;
    }

    .celeb-signup-container .otp-box {
        gap: 6px;
    }

    .celeb-signup-container .otp-input {
        width: 42px !important;
        height: 48px;
        font-size: 18px;
    }
}


/* Tree plant choose  */
.tree-plans {
    display: grid;
    gap: 15px;
    margin-top: 20px;
}

.plan-option {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 2px solid #d8c3a5;
    padding: 15px;
    border-radius: 12px;
    cursor: pointer;
    background: #fff;
}

.plan-option:hover {
    border-color: #4caf50;
}

.plan-option input[type="radio"] {
    width: 20px;
    height: 20px;
}

.plan-content h3 {
    margin: 0;
    color: #5b3a1a;
}

.amount-box {

    margin-top: 25px;
    padding: 15px;
    border-radius: 10px;
    background: #f1f8e9;
    text-align: center;

}
.amount-box h3 {
    margin: 0;
    color: #71b347;
}
.share-btn .share-icon {
    font-size: 22px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.success-box {

    max-width: 500px;
    margin: 40px auto;
    padding: 30px 20px;
    text-align: center;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);

}

.success-icon {

    font-size: 50px;
    margin-bottom: 15px;

}

.success-box h2 {

    font-size: 28px;
    margin-bottom: 10px;

}
.success-message {

    color:#666;
    margin-bottom:25px;

}
.invite-box {

    background:#f5fff5;
    padding:25px 15px;
    border-radius:12px;

}
.invite-box h3 {

    margin-bottom:10px;

}
.invite-box p {

    color:#666;
    font-size:15px;

} 
.share-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    width:260px;
    height:54px;

    margin:12px 8px 0;

    border-radius:30px;

    color:#fff;
    text-decoration:none;

    font-size:17px;
    font-weight:600;
    text-decoration: none !important;
    transition:all .3s ease;
}
.copy-btn{
     background:#25D366;
}
.whatsapp-btn{

    background:#25D366;
}

.email-btn{

    background:#917e67;
}

.share-btn:hover{

    color:#fff;
    transform:translateY(-3px);

    box-shadow:0 8px 18px rgba(0,0,0,.15);
}

.share-btn i{

    font-size:22px;
}

.share-btn span{

    white-space:nowrap;
}
@media (max-width:768px){

    .share-btn{

        width:100%;
        max-width:320px;

        margin:10px auto;

        display:flex;
    }

}
@media(max-width:600px){
    .success-box{

        margin:20px 15px;
        padding:25px 15px;

    }
    .success-box h2{

        font-size:24px;

    }
    .whatsapp-share-btn{

        width:100%;

    }
}
 /* =========================================================
   NORMAL USER SIGNUP - FLORIA STYLE
   Same style as Celebrity / Planter
========================================================= */

.normal-signup-wrapper {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

/* Main box */
.normal-signup-box {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    box-sizing: border-box;
}

/* Heading */
.normal-signup-box h2 {
    margin: 0 0 10px;
    text-align: center;
    color: #4e342e;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.3;
}

/* Subtitle */
.normal-signup-box .signup-subtitle {
    margin: 0 0 35px;
    text-align: center;
    color: #777;
    font-size: 15px;
}

/* =========================================================
   FORM GROUP
========================================================= */

.normal-signup-box .normal-form-group {
    width: 100%;
    margin-bottom: 28px;
    box-sizing: border-box;
}

/* Label */
.normal-signup-box .normal-form-group label {
    display: block;
    width: 100%;
    margin-bottom: 8px;
    color: #5d4037;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

/* Input */
.normal-signup-box .normal-form-group input {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 12px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #d9d9d9 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;

    color: #333;
    font-size: 15px;
    line-height: 1.5;

    box-sizing: border-box;
}

/* Placeholder */
.normal-signup-box .normal-form-group input::placeholder {
    color: #999;
    opacity: 1;
}

/* Focus */
.normal-signup-box .normal-form-group input:focus {
    border-bottom-color: #8a9a5b !important;
    box-shadow: none !important;
}

/* =========================================================
   ERROR MESSAGE
========================================================= */

.normal-signup-box .normal-error-message {
    display: block;
    min-height: 18px;
    margin-top: 5px;
    color: #ff5b4a;
    font-size: 13px;
    line-height: 1.4;
}

/* =========================================================
   SEND OTP + VERIFY OTP
========================================================= */

.normal-signup-box .normal-signup-btn {
    display: block !important;

    width: auto !important;
    min-width: 190px !important;

    height: auto !important;

    margin: 10px auto 0 !important;
    padding: 14px 35px !important;

    border: none !important;
    border-radius: 0 !important;

    background: #71b347 !important;
    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    cursor: pointer;

    box-sizing: border-box !important;
}

/* Button hover */
.normal-signup-box .normal-signup-btn:hover {
    background: #71b347 !important;
    color: #ffffff !important;
}

/* =========================================================
   LOGIN LINK
========================================================= */

.normal-signup-box .normal-login-link {
    margin: 25px 0 0 !important;
    text-align: center !important;

    color: #777;
    font-size: 14px;
}

.normal-signup-box .normal-login-link a {
    color: #87965b;
    font-weight: 600;
    text-decoration: none;
}

.normal-signup-box .normal-login-link a:hover {
    text-decoration: underline;
}

/* =========================================================
   OTP INFORMATION
========================================================= */

.normal-signup-box .normal-otp-info {
    margin: 0 0 25px;
    text-align: center;
    color: #777;
    font-size: 14px;
    line-height: 1.6;
}

.normal-signup-box #normal-otp-sent-to {
    color: #333;
    font-weight: 600;
    word-break: break-word;
}

/* =========================================================
   OTP BOX
========================================================= */

.normal-signup-box .normal-otp-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 35px 0;
}

/* OTP inputs */
.normal-signup-box .normal-otp-input {
    width: 48px !important;
    height: 52px !important;

    padding: 0 !important;

    border: 1px solid #d7d7d7 !important;
    border-radius: 4px !important;

    background: #fff !important;
    box-shadow: none !important;

    color: #333;
    text-align: center;

    font-size: 20px;
    font-weight: 600;

    outline: none;
    box-sizing: border-box;
}

/* OTP focus */
.normal-signup-box .normal-otp-input:focus {
    border-color: #87965b !important;
    outline: none;
    box-shadow: none !important;
}

/* =========================================================
   OTP ERROR
========================================================= */

.normal-signup-box #normal-otp-error {
    display: block !important;

    width: 100%;
    min-height: 18px;

    margin: -15px 0 15px !important;
    padding: 0 !important;

    color: #ff5b4a !important;
    font-size: 13px !important;
    line-height: 1.4;

    text-align: center;
}

/* =========================================================
   OTP FOOTER
========================================================= */

.normal-signup-box .normal-otp-footer {
    margin-top: 20px;
    text-align: center;
    color: #777;
    font-size: 13px;
}

/* =========================================================
   RESEND OTP
========================================================= */

.normal-signup-box .normal-resend-btn {
    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #71b347 !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer;
    box-shadow: none !important;
}

/* Resend hover */
.normal-signup-box .normal-resend-btn:hover {
    background: transparent !important;
    color: #5d9638 !important;
    text-decoration: underline;
    box-shadow: none !important;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .normal-signup-wrapper {
        max-width: 100%;
        padding: 15px;
    }

    .normal-signup-box {
        max-width: 100%;
    }

    .normal-signup-box h2 {
        font-size: 24px;
    }

    .normal-signup-box .normal-form-group {
        margin-bottom: 24px;
    }

    /* Button */
    .normal-signup-box .normal-signup-btn {
        width: 100% !important;
        max-width: 320px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 14px 25px !important;
    }

    /* OTP */
    .normal-signup-box .normal-otp-box {
        gap: 6px;
    }

    .normal-signup-box .normal-otp-input {
        width: 42px !important;
        height: 48px !important;
        font-size: 18px;
    }

    /* Resend */
    .normal-signup-box .normal-resend-btn {
        width: auto !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 0 !important;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .normal-signup-wrapper {
        padding: 10px;
    }

    .normal-signup-box h2 {
        font-size: 23px;
    }

    .normal-signup-box .signup-subtitle {
        font-size: 14px;
        margin-bottom: 30px;
    }

    .normal-signup-box .normal-form-group input {
        font-size: 14px;
    }

    .normal-signup-box .normal-otp-box {
        gap: 5px;
    }

    .normal-signup-box .normal-otp-input {
        width: 40px !important;
        height: 46px !important;
        font-size: 18px;
    }
}
/* =========================================================
   ALL CELEBRITY FORM BUTTONS - SAME SIZE AS SEND OTP
   ========================================================= */

/* Send OTP + Verify OTP + Continue Payment + Pay Now */
.celeb-signup-container #send-otp-btn,
.celeb-signup-container #verify-otp-btn,
.celeb-signup-container #continue-payment,
.celeb-signup-container #pay-now, 
.celeb-signup-container .signup-btn {
 
 display: block !important;
    width: auto !important;
    min-width: 190px !important;

    height: auto !important;

    margin: 10px auto 0 !important;

    padding: 14px 35px !important;

    border: none !important;
    border-radius: 0 !important;

    background: #71b347 !important;
    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer;

    box-sizing: border-box !important;
}

/* Hover */
.celeb-signup-container #send-otp-btn:hover,
.celeb-signup-container #verify-otp-btn:hover,
.celeb-signup-container #continue-payment:hover,
.celeb-signup-container #pay-now:hover,  
.celeb-signup-container .signup-btn:hover {

    background: #71b347 !important;
    color: #ffffff !important;
}


.celeb-signup-container #resend-otp {

    display: none;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #71b347 !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer;

    box-shadow: none !important;
}
/* Resend hover */

.celeb-signup-container #resend-otp:hover {

    background: transparent !important;
    color: #5d9638 !important;

    text-decoration: underline;

    box-shadow: none !important;

    transform: none !important;
}
/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .celeb-signup-container #send-otp-btn,
    .celeb-signup-container #verify-otp-btn,
    .celeb-signup-container #continue-payment,
    .celeb-signup-container #pay-now,
    .celeb-signup-container .signup-btn {

        width: 100% !important;
        max-width: 320px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 14px 25px !important;
    }

    .celeb-signup-container #resend-otp {

        width: auto !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 0 !important;
    }
}

/* =========================================================
   DONATION SUMMARY CONTENT ONLY
========================================================= */

.celeb-signup-container #payment-step .payment-summary {
    max-width: 560px;
    margin: 0 auto;
        margin: 25px auto 0 !important;
    text-align: left !important;
}

.celeb-signup-container #payment-step .payment-summary p {
    margin: 0 0 22px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 17px;
    line-height: 1.5;
}

.celeb-signup-container #payment-step .payment-summary strong {
    font-weight: 700;
}
@media (max-width: 767px) {
    .celeb-signup-container #payment-step .payment-summary {
        margin: 20px auto 0 !important;
    }
}

@media (max-width: 480px) {
    .celeb-signup-container #payment-step .payment-summary {
        margin: 15px auto 0 !important;
    }
}

/* Planter Resend OTP Button */
.celeb-signup-container #resend-planter-otp {
    display: none;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #5d9638 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    cursor: pointer;
    box-shadow: none !important;
}

.celeb-signup-container #resend-planter-otp:hover {
    background: transparent !important;
    color: #5d9638 !important;
    text-decoration: underline;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .celeb-signup-container #resend-planter-otp {
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
    }
}