*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Manrope', sans-serif;
    background:#0b0b0b;
    color:#ffffff;
    padding-top:88px;
}

.assessment-page{
    min-height:100vh;
    padding:70px 20px 100px;
    background:#0b0b0b;
}

.assessment-card{
    max-width:1400px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;

    background:#151515;

    border:1px solid rgba(255,255,255,.08);

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.left-panel{
    padding:60px;
    background:#151515;
}

.right-panel{
    background:#1d1d1d;
    color:#ffffff;
    padding:60px;

    display:flex;
    justify-content:center;
    flex-direction:column;

    border-left:1px solid rgba(255,255,255,.08);
}

.left-panel h1{
    font-size:52px;
    font-weight:600;
    color:#ffffff;
    margin-bottom:18px;
}

.subtitle{
    color:#c9c9c9;
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}

.form-group{

    margin-bottom:12px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#e5e5e5;

}

.form-group input{

    width:100%;

    padding:16px 18px;

    background:#222222;

    color:#ffffff;

    border:1px solid rgba(255,255,255,.12);

    border-radius:14px;

    font-size:16px;

    transition:.3s;

}

.form-group input:focus{

    outline:none;

    border-color:#D4AF37;

    box-shadow:0 0 0 4px rgba(212,175,55,.15);

}

.privacy-box{

    background:#1d1d1d;

    border:1px solid rgba(255,255,255,.08);

    padding:18px;

    border-radius:16px;

    margin:25px 0;

}

.checkbox{

    display:flex;

    gap:15px;

    align-items:flex-start;

    line-height:1.8;

    font-size:15px;

    color:#d6d6d6;

}

.checkbox input{

    margin-top:5px;

}

button{

    width:100%;

    background:#D4AF37;

    color:#111827;

    border:none;

    padding:18px;

    border-radius:16px;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    background:#e6c65c;

    transform:translateY(-3px);

}

.right-panel h2{

    font-size:28px;

    margin-bottom:20px;

}

.right-panel p{

    color:#d1d5db;

    line-height:1.8;

}

.right-panel ul{

    margin-top:30px;

    margin-left:20px;

}

.right-panel li{

    margin-bottom:16px;

}

.result-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    padding:16px;

    border-radius:12px;

    background:rgba(255,255,255,.08);

    margin-bottom:18px;

}

.result-item span{

    flex:1;

    line-height:1.5;

}

.result-item strong{

    flex-shrink:0;

    color:#D4AF37;

    font-size:20px;

    font-weight:700;

    text-align:right;

}

.result-item span{

    flex:1;
    min-width:0;
    line-height:1.5;

}

.result-item strong{

    color:#D4AF37;

    font-size:18px;

    font-weight:700;

    text-align:right;

    white-space:nowrap;

    flex-shrink:0;

}

#whatsappBtn{

    margin-top:30px;

    background:#25D366;

    color:white;

}

#whatsappBtn:hover{

    background:#1ebe5d;

}

/* =======================================================
   TABLET
======================================================= */

@media (max-width:1024px){

    .assessment-page{
        padding:50px 24px 80px;
    }

    .assessment-card{
        grid-template-columns:1fr;
        border-radius:24px;
    }

    .left-panel,
    .right-panel{
        padding:40px;
    }

    .right-panel{
        border-left:none;
        border-top:1px solid rgba(255,255,255,.08);
    }

    .left-panel h1{
        font-size:42px;
        line-height:1.2;
    }

    .subtitle{
        font-size:17px;
    }

}

/* =======================================================
   MOBILE
======================================================= */

@media (max-width:991px){

    .assessment-page{
        padding:24px 16px 48px;
    }

    .assessment-card{
        grid-template-columns:1fr;
        border-radius:20px;
        overflow:hidden;
    }

    .left-panel,
    .right-panel{
        padding:24px 20px;
    }

    .left-panel h1{
        font-size:30px;
        line-height:1.3;
        margin-bottom:16px;
    }

    .subtitle{
        font-size:15px;
        line-height:1.7;
        margin-bottom:24px;
    }

    .form-group{
        margin-bottom:18px;
    }

    .form-group label{
        font-size:15px;
    }

    .form-group input{
        height:54px;
        padding:0 16px;
        font-size:16px;
    }

    .country-code{
        height:54px;
        padding:0 16px;
    }

    .privacy-box{
        padding:16px;
        margin:20px 0;
    }

    .checkbox{
        font-size:14px;
        gap:12px;
    }

    button{
        height:56px;
        font-size:17px;
    }

    .right-panel h2{
        font-size:24px;
    }

    .result-card{
        border-radius:18px;
    }

    .result-item{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        padding:14px 0;
    }

    .result-item strong{
        width:100%;
        text-align:left;
        font-size:20px;
        white-space:normal;
        word-break:break-word;
    }

    .result-item:last-child{
        border-bottom:none;
    }

    .guide-card{
        padding:20px;
        border-radius:16px;
    }

    .form-group:last-of-type{
        margin-bottom:24px;
    }
}

/* =======================================================
   SMALL MOBILE
======================================================= */

@media (max-width:480px){

    .assessment-page{
        padding:20px 12px 40px;
    }

    .left-panel,
    .right-panel{
        padding:20px;
    }

    .left-panel h1{
        font-size:26px;
    }

    .subtitle{
        font-size:14px;
    }

    .form-group input{
        font-size:15px;
    }

    button{
        font-size:16px;
    }

}

.budget-guide{

    margin-top:35px;

}

.budget-guide h3{

    color:#ffffff;

    font-size:22px;

    margin-bottom:20px;

}

.guide-card{

    background:rgba(255,255,255,.08);

    border-radius:12px;

    padding:18px;

    margin-bottom:18px;

}

.guide-card h4{

    color:#D4AF37;

    margin-bottom:10px;

}

.guide-card ul{

    margin:0;

    padding-left:20px;

}

.guide-card li{

    color:#d1d5db;

    line-height:1.8;

    margin-bottom:8px;

}
.phone-group{

    display:flex;

    align-items:center;

}

.country-code{

    background:#222222;

    color:#ffffff;

    border:1px solid rgba(255,255,255,.12);

    border-right:none;

    padding:16px 18px;

    border-radius:12px 0 0 12px;

    font-weight:600;

}

.phone-group input{

    border-radius:0 12px 12px 0;

}

/* ==========================================
   EXTRA RESPONSIVE IMPROVEMENTS
========================================== */

@media (max-width:1200px){

    .assessment-card{
        grid-template-columns:1fr;
    }

    .left-panel,
    .right-panel{
        padding:50px;
    }

}

@media (max-width:768px){

    body{
        padding-top:80px;
    }

    .assessment-page{
        padding:40px 15px 70px;
    }

    .assessment-card{
        border-radius:20px;
    }

    .left-panel,
    .right-panel{
        padding:25px;
    }

    .left-panel h1{
        font-size:34px;
    }

    .subtitle{
        font-size:16px;
    }

    .result-item{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .result-item strong{
        font-size:22px;
    }

}

@media (max-width:480px){

    .assessment-page{
        padding:20px 8px 40px;
    }

    .assessment-card{
        border-radius:14px;
    }

    .left-panel,
    .right-panel{
        padding:16px;
    }

    .left-panel h1{
        font-size:22px;
        line-height:1.25;
    }

    .subtitle{
        font-size:13px;
        margin-bottom:20px;
    }

    .right-panel h2{
        font-size:18px;
        margin-bottom:16px;
    }

    .result-item{
        padding:12px 14px;
        margin-bottom:12px;
        border-radius:12px;
        gap:6px;
    }

    .result-item span{
        font-size:14px;
        line-height:1.4;
    }

    .result-item strong{
        font-size:16px;
        line-height:1.3;
    }

    .guide-card{
        padding:14px;
        border-radius:12px;
    }

    .country-code{
        padding:12px;
        font-size:14px;
    }

    .phone-group input{
        font-size:14px;
    }

    .form-group input{
        height:48px;
        font-size:14px;
    }

    button,
    #whatsappBtn{
        height:50px;
        font-size:15px;
    }

}

/* =========================================
   Mobile Optimization
========================================= */

@media (max-width:430px){

    html{
        font-size:16px;
    }

    .container,
    .assessment-page{
        width:100%;
        padding-left:16px;
        padding-right:16px;
    }

    .assessment-card{
        border-radius:18px;
    }

    .left-panel,
    .right-panel{
        padding:22px 18px;
    }

    .left-panel h1{
        font-size:2rem;
        line-height:1.2;
    }

    .right-panel h2{
        font-size:1.7rem;
    }

    .result-card{
        padding:18px;
    }

    .result-item{
        display:block;
    }

    .result-item span{
        display:block;
        margin-bottom:8px;
    }

    .result-item strong{
        display:block;
        font-size:2rem;
        line-height:1.25;
        word-break:break-word;
    }

    button{
        width:100%;
    }

}

@media (max-width:375px){

    .left-panel h1{
        font-size:1.8rem;
    }

    .right-panel h2{
        font-size:1.55rem;
    }

    .result-item strong{
        font-size:1.75rem;
    }

}

@media (max-width:320px){

    .left-panel,
    .right-panel{
        padding:18px 14px;
    }

    .left-panel h1{
        font-size:1.6rem;
    }

    .right-panel h2{
        font-size:1.4rem;
    }

    .result-item strong{
        font-size:1.55rem;
    }

    button{
        font-size:15px;
    }

}

/* =========================================
   Universal Mobile Support
========================================= */

@media screen and (max-width:430px){

    html,
    body{
        overflow-x:hidden;
    }

    *{
        max-width:100%;
        box-sizing:border-box;
    }

    img{
        max-width:100%;
        height:auto;
        display:block;
    }

    .assessment-card{
        display:flex;
        flex-direction:column;
    }

    .left-panel,
    .right-panel{
        width:100%;
    }

    .phone-input{
        display:flex;
        width:100%;
    }

    .phone-input input{
        min-width:0;
        flex:1;
    }

    .result-item{
        flex-direction:column;
        align-items:flex-start;
    }

    .result-item strong{
        margin-top:6px;
        text-align:left;
        white-space:normal;
        word-break:break-word;
    }

    button{
        width:100%;
    }

}

@media screen and (max-width:375px){

    .left-panel,
    .right-panel{
        padding:20px 16px;
    }

}

@media screen and (max-width:320px){

    .left-panel,
    .right-panel{
        padding:18px 14px;
    }

    .left-panel h1{
        font-size:28px;
    }

    .right-panel h2{
        font-size:24px;
    }

}

.location-options{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
}

.location-option{
    min-height:48px;
    padding:10px 12px;
    border:1px solid #d1d5db;
    border-radius:8px;
    background:#fff;
    color:#374151;
    font:inherit;
    font-weight:600;
    cursor:pointer;
    transition:background .2s, border-color .2s, color .2s;
}

/* =========================================
   Compact Home Budget Calculator
   Scoped overrides retain the existing visual system.
========================================= */
.assessment-page{
    min-height:auto;
    padding:42px 20px 70px;
}

.assessment-card{
    max-width:1120px;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    border-radius:22px;
}

.left-panel,
.right-panel{
    padding:34px 36px;
}

.left-panel h1{
    margin-bottom:10px;
    font-size:38px;
    line-height:1.15;
}

.subtitle{
    margin-bottom:22px;
    font-size:14px;
    line-height:1.55;
}

.left-panel form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 16px;
}

.form-group{
    min-width:0;
    margin-bottom:0;
}

.form-group label{
    margin-bottom:6px;
    font-size:12.5px;
    line-height:1.35;
}

.form-group input{
    height:44px;
    padding:10px 13px;
    border-radius:9px;
    font-size:14px;
}

.phone-group,
.country-code{
    height:44px;
}

.country-code{
    display:flex;
    align-items:center;
    padding:0 12px;
    border-radius:9px 0 0 9px;
    font-size:13px;
}

.phone-group input{
    border-radius:0 9px 9px 0;
}

.form-helper{
    display:block;
    margin-top:5px;
    color:#9ca3af;
    font-size:10px;
    line-height:1.4;
}

#propertyLocationGroup,
#customLocationGroup,
.privacy-box,
#submitBtn{
    grid-column:1 / -1;
}

.location-options{
    gap:8px;
}

.location-option{
    min-height:42px;
    padding:8px 10px;
    border-radius:9px;
    font-size:12px;
}

.privacy-box{
    margin:2px 0 0;
    padding:12px 13px;
    border-radius:10px;
}

.checkbox{
    gap:10px;
    font-size:10.5px;
    line-height:1.5;
}

.checkbox input{
    flex:0 0 auto;
    margin-top:2px;
}

#submitBtn{
    min-height:46px;
    height:auto;
    padding:11px 18px;
    border-radius:10px;
    font-size:14px;
}

.right-panel h2{
    margin-bottom:14px;
    font-size:25px;
}

.right-panel p{
    font-size:12.5px;
    line-height:1.6;
}

.right-panel ul{
    margin-top:18px;
}

.right-panel li{
    margin-bottom:9px;
    font-size:12.5px;
}

.result-item{
    gap:14px;
    margin-bottom:10px;
    padding:12px 14px;
    border-radius:9px;
}

#whatsappBtn{
    min-height:46px;
    height:auto;
    margin-top:18px;
    padding:11px 18px;
    border-radius:10px;
    font-size:14px;
}

@media(max-width:992px){
    .assessment-card{grid-template-columns:1fr;max-width:720px}
    .left-panel,.right-panel{padding:30px}
}

@media(max-width:600px){
    .assessment-page{padding:18px 12px 38px}
    .assessment-card{border-radius:14px}
    .left-panel,.right-panel{padding:20px 17px}
    .left-panel h1{font-size:27px}
    .subtitle{margin-bottom:18px;font-size:13px}
    .left-panel form{grid-template-columns:1fr;gap:12px}
    #propertyLocationGroup,#customLocationGroup,.privacy-box,#submitBtn{grid-column:auto}
    .form-group input,.phone-group,.country-code{height:46px}
    .location-options{grid-template-columns:1fr}
    .location-option{min-height:44px}
    .form-helper{font-size:10.5px}
}

.location-option:hover,
.location-option.selected{
    background:#16a34a;
    border-color:#16a34a;
    color:#fff;
}
