/* =====================================================
   LADLI E-RIKSHA
   CUSTOMER REGISTRATION
   PROFESSIONAL AUTH DESIGN
   ===================================================== */

.customer-register-page {
    min-height: calc(100vh - 80px);
    background:
        linear-gradient(
            135deg,
            #fff8f2 0%,
            #ffffff 48%,
            #fff5ec 100%
        );
}

.customer-register-section {
    width: 100%;
    padding: 55px 20px 80px;
}

.customer-register-container {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.92fr 1.08fr;

    gap: 65px;
    align-items: center;
}


/* =====================================================
   LEFT INTRO
   ===================================================== */

.customer-register-intro {
    padding: 20px 0;
}

.register-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 8px 14px;

    border: 1px solid #ffe0c7;
    border-radius: 30px;

    background: #fff8f2;

    color: #d95a00;

    font-size: 12px;
    font-weight: 700;

    margin-bottom: 22px;
}

.badge-dot {
    width: 7px;
    height: 7px;

    border-radius: 50%;
    background: #ff6b00;

    box-shadow: 0 0 0 4px rgba(255,107,0,0.10);
}

.customer-register-intro h1 {
    margin: 0;

    max-width: 470px;

    color: #151515;

    font-size: clamp(38px, 5vw, 58px);

    line-height: 1.04;

    font-weight: 850;

    letter-spacing: -1.8px;
}

.customer-register-intro h1 span {
    display: block;
    color: #ff6b00;
}

.register-intro-text {
    max-width: 500px;

    margin: 22px 0 34px;

    color: #667085;

    font-size: 16px;
    line-height: 1.75;
}


/* BENEFITS */

.register-benefits {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.benefit-icon {
    width: 45px;
    height: 45px;

    flex: 0 0 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #fff;
    border: 1px solid #ffe1cc;

    box-shadow:
        0 6px 20px rgba(30, 30, 30, 0.06);
}

.benefit-item h3 {
    margin: 0 0 3px;

    color: #202020;

    font-size: 14px;
    font-weight: 800;
}

.benefit-item p {
    margin: 0;

    color: #7b8492;

    font-size: 12px;
    line-height: 1.5;
}


/* =====================================================
   SIMPLE CSS ICONS
   ===================================================== */

.icon-shield {
    width: 18px;
    height: 21px;

    border: 2px solid #ff6b00;
    border-radius: 9px 9px 11px 11px;

    position: relative;
}

.icon-shield::after {
    content: "✓";

    position: absolute;

    left: 50%;
    top: 48%;

    transform: translate(-50%, -50%);

    color: #ff6b00;

    font-size: 10px;
    font-weight: 900;
}

.icon-location {
    width: 17px;
    height: 17px;

    border: 2px solid #ff6b00;
    border-radius: 50% 50% 50% 0;

    transform: rotate(-45deg);

    position: relative;
}

.icon-location::after {
    content: "";

    width: 5px;
    height: 5px;

    border: 1.5px solid #ff6b00;
    border-radius: 50%;

    position: absolute;

    left: 4px;
    top: 4px;
}

.icon-check {
    width: 19px;
    height: 19px;

    border-radius: 50%;

    background: #ff6b00;

    position: relative;
}

.icon-check::after {
    content: "✓";

    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -52%);

    color: #fff;

    font-size: 11px;
    font-weight: 900;
}


/* =====================================================
   REGISTRATION CARD
   ===================================================== */

.customer-register-card {
    width: 100%;

    background: #ffffff;

    border: 1px solid #eeeeee;

    border-radius: 22px;

    padding: 32px;

    box-shadow:
        0 18px 55px rgba(32, 32, 32, 0.09);
}

.register-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
}

.register-user-icon {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            #ff6b00,
            #ff8a3d
        );

    box-shadow:
        0 8px 20px rgba(255,107,0,0.22);
}

.user-icon-shape {
    width: 20px;
    height: 20px;

    border: 2px solid #fff;
    border-radius: 50%;

    position: relative;

    margin-top: -9px;
}

.user-icon-shape::after {
    content: "";

    width: 28px;
    height: 14px;

    border: 2px solid #fff;
    border-bottom: 0;

    border-radius: 20px 20px 0 0;

    position: absolute;

    left: 50%;
    top: 20px;

    transform: translateX(-50%);
}

.register-card-header h2 {
    margin: 0;

    color: #171717;

    font-size: 23px;
    font-weight: 850;
}

.register-card-header p {
    margin: 4px 0 0;

    color: #89919d;

    font-size: 12px;
}

.register-divider {
    height: 1px;

    background: #eeeeee;

    margin: 25px 0;
}


/* =====================================================
   FORM
   ===================================================== */

.professional-form-group {
    margin-bottom: 17px;
}

.professional-form-group label {
    display: block;

    margin-bottom: 8px;

    color: #333;

    font-size: 12px;
    font-weight: 800;
}

.professional-form-group label > span {
    color: #ff6b00;
}

.professional-form-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 14px;
}

.input-wrapper {
    position: relative;

    display: flex;
    align-items: center;
}

.input-wrapper input,
.input-wrapper textarea {
    width: 100%;

    border: 1px solid #e2e5e9;

    border-radius: 11px;

    background: #fafafa;

    color: #222;

    font-family: inherit;

    font-size: 13px;

    outline: none;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.input-wrapper input {
    height: 47px;

    padding: 0 43px;
}

.input-wrapper textarea {
    min-height: 82px;

    resize: vertical;

    padding: 13px 43px;

    line-height: 1.5;
}

.input-wrapper input::placeholder,
.input-wrapper textarea::placeholder {
    color: #a7adb5;
}

.input-wrapper input:focus,
.input-wrapper textarea:focus {
    border-color: #ff6b00;

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(255,107,0,0.09);
}


/* FIELD ICONS */

.field-icon {
    position: absolute;

    left: 15px;

    width: 17px;
    height: 17px;

    z-index: 2;
}

.person-icon {
    border: 1.8px solid #9aa1aa;
    border-radius: 50%;
    transform: scale(0.65);
}

.person-icon::after {
    content: "";

    position: absolute;

    width: 23px;
    height: 12px;

    left: -5px;
    top: 18px;

    border: 1.8px solid #9aa1aa;
    border-bottom: 0;

    border-radius: 15px 15px 0 0;
}

.phone-icon::before {
    content: "⌕";

    color: #9aa1aa;
    font-size: 22px;
}

.email-icon {
    border: 1.7px solid #9aa1aa;
    border-radius: 4px;
}

.email-icon::after {
    content: "";

    position: absolute;

    left: 2px;
    top: 2px;

    width: 9px;
    height: 9px;

    border-left: 1.5px solid #9aa1aa;
    border-bottom: 1.5px solid #9aa1aa;

    transform: rotate(-45deg);
}

.lock-icon {
    border: 1.8px solid #9aa1aa;
    border-radius: 4px;

    height: 13px;
    top: 17px;
}

.lock-icon::before {
    content: "";

    position: absolute;

    width: 9px;
    height: 8px;

    left: 2px;
    top: -8px;

    border: 1.8px solid #9aa1aa;
    border-bottom: 0;

    border-radius: 8px 8px 0 0;
}

.address-icon {
    border: 1.8px solid #9aa1aa;
    border-radius: 50% 50% 50% 0;

    transform: rotate(-45deg) scale(0.8);
}

.city-icon,
.state-icon {
    border: 1.7px solid #9aa1aa;
    border-radius: 3px;
}

.city-icon::after,
.state-icon::after {
    content: "";

    position: absolute;

    width: 6px;
    height: 6px;

    left: 4px;
    bottom: 3px;

    border: 1.5px solid #9aa1aa;
    border-radius: 50%;
}


/* PASSWORD */

.password-toggle {
    position: absolute;

    right: 10px;

    border: 0;

    background: transparent;

    color: #ff6b00;

    font-family: inherit;

    font-size: 10px;
    font-weight: 800;

    cursor: pointer;
}


/* =====================================================
   TERMS
   ===================================================== */

.professional-terms {
    margin: 5px 0 18px;
}

.terms-label {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    cursor: pointer;
}

.terms-label input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

.custom-checkbox {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    border: 1.5px solid #cbd0d6;

    border-radius: 5px;

    margin-top: 1px;

    position: relative;
}

.terms-label input:checked + .custom-checkbox {
    background: #ff6b00;

    border-color: #ff6b00;
}

.terms-label input:checked + .custom-checkbox::after {
    content: "✓";

    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -53%);

    color: #fff;

    font-size: 11px;
    font-weight: 900;
}

.terms-text {
    color: #7c848f;

    font-size: 11px;

    line-height: 1.5;
}

.terms-text a {
    color: #ff6b00;

    font-weight: 700;

    text-decoration: none;
}


/* =====================================================
   MESSAGE
   ===================================================== */

.professional-auth-message {
    display: none;

    margin-bottom: 15px;

    padding: 10px 12px;

    border-radius: 9px;

    font-size: 12px;
}

.professional-auth-message:not(:empty) {
    display: block;

    background: #fff4ec;

    color: #c34d00;

    border: 1px solid #ffd8bf;
}


/* =====================================================
   REGISTER BUTTON
   ===================================================== */

.professional-register-btn {
    width: 100%;

    min-height: 49px;

    border: 0;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #ff6b00,
            #ff8128
        );

    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    font-family: inherit;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 9px 22px rgba(255,107,0,0.22);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.professional-register-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 13px 27px rgba(255,107,0,0.28);
}

.professional-register-btn:active {
    transform: translateY(0);
}

.btn-arrow {
    font-size: 18px;

    line-height: 1;
}


/* =====================================================
   LOGIN
   ===================================================== */

.already-account {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 5px;

    margin-top: 20px;

    color: #858d97;

    font-size: 11px;
}

.already-account a {
    color: #ff6b00;

    font-weight: 800;

    text-decoration: none;
}

.already-account a:hover {
    text-decoration: underline;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 900px) {

    .customer-register-container {
        grid-template-columns: 1fr;

        max-width: 650px;

        gap: 25px;
    }

    .customer-register-intro {
        text-align: center;
    }

    .customer-register-intro h1 {
        margin-left: auto;
        margin-right: auto;
    }

    .register-intro-text {
        margin-left: auto;
        margin-right: auto;
    }

    .register-benefits {
        max-width: 480px;

        margin: 0 auto;

        text-align: left;
    }

}


@media (max-width: 600px) {

    .customer-register-page {
        min-height: calc(100vh - 70px);
    }

    .customer-register-section {
        padding: 30px 14px 90px;
    }

    .customer-register-intro {
        padding: 5px 0;
    }

    .register-badge {
        font-size: 10px;

        margin-bottom: 16px;
    }

    .customer-register-intro h1 {
        font-size: 37px;

        letter-spacing: -1.2px;
    }

    .register-intro-text {
        margin-top: 15px;
        margin-bottom: 22px;

        font-size: 13px;
    }

    .register-benefits {
        display: none;
    }

    .customer-register-card {
        padding: 22px 17px;

        border-radius: 18px;
    }

    .register-card-header h2 {
        font-size: 20px;
    }

    .register-divider {
        margin: 20px 0;
    }

    .professional-form-row {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .professional-form-group {
        margin-bottom: 14px;
    }

    .professional-form-group label {
        font-size: 11px;
    }

    .input-wrapper input {
        height: 45px;

        font-size: 12px;
    }

    .input-wrapper textarea {
        font-size: 12px;
    }

    .professional-register-btn {
        min-height: 47px;

        font-size: 12px;
    }

    .already-account {
        flex-direction: column;

        gap: 3px;
    }

}



/* =====================================================
   MOBILE BOTTOM NAV ICON FIX
   ===================================================== */

.mobile-bottom-nav .nav-icon {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    margin: 0 auto 4px;
    flex-shrink: 0;
}


/* HOME ICON */

.mobile-bottom-nav .nav-home::before {
    content: "";
    position: absolute;
    width: 13px;
    height: 11px;
    left: 3px;
    top: 6px;
    border: 2px solid currentColor;
    border-top: none;
    border-radius: 2px;
}

.mobile-bottom-nav .nav-home::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    left: 4px;
    top: 2px;
    border-left: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    border-radius: 2px;
}


/* BOOKING ICON */

.mobile-bottom-nav .nav-booking::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 16px;
    left: 3px;
    top: 2px;
    border: 2px solid currentColor;
    border-radius: 3px;
}

.mobile-bottom-nav .nav-booking::after {
    content: "+";
    position: absolute;
    left: 7px;
    top: 3px;
    font-size: 12px;
    font-weight: 800;
    line-height: 14px;
}


/* RIDES ICON */

.mobile-bottom-nav .nav-rides::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 10px;
    left: 2px;
    top: 6px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.mobile-bottom-nav .nav-rides::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    left: 4px;
    bottom: 1px;
    background: currentColor;
    border-radius: 50%;
    box-shadow: 10px 0 0 currentColor;
}


/* PROFILE ICON */

.mobile-bottom-nav .nav-profile::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    left: 6px;
    top: 1px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.mobile-bottom-nav .nav-profile::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 8px;
    left: 2px;
    bottom: 1px;
    border: 2px solid currentColor;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
}