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

body{
    font-family:Arial,Helvetica,sans-serif;
    background:#f4f5f7;
    color:#333;
    line-height:1.5;
}

.container{
    max-width:700px;
    margin:30px auto;
    padding:15px;
}

.card{
    background:#fff;
    border-radius:10px;
    box-shadow:0 3px 12px rgba(0,0,0,.08);
    padding:25px;
}

h2{
    margin-bottom:20px;
    text-align:center;
}

.form-group{
    margin-bottom:18px;
}

label{
    display:block;
    font-weight:600;
    margin-bottom:6px;
}

.required{
    color:#d00;
}

input,
textarea{
    width:100%;
    padding:12px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:15px;
}

textarea{
    resize:vertical;
    min-height:140px;
}

.verification-group{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.verification-group button{
    width:100%;
}

@media(min-width:768px){

.verification-group{
    flex-direction:row;
    align-items:center;
}

.verification-group input{
    flex:1;
}

.verification-group button{
    width:auto;
    min-width:180px;
}

}

button{
    cursor:pointer;
    border:none;
    border-radius:6px;
    padding:12px 18px;
    font-size:15px;
}

.btn-primary{
    background:#0d6efd;
    color:#fff;
}

.btn-success{
    background:#198754;
    color:#fff;
}

.btn-secondary{
    background:#6c757d;
    color:#fff;
}

button:disabled{
    opacity:.5;
    cursor:not-allowed;
}

.service-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}

.service-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border:1px solid #ddd;
    border-radius:8px;
    cursor:pointer;
    transition:.25s;
    background:#fff;
}

.service-card:hover{
    border-color:#0d6efd;
}

.service-card input{
    width:18px;
    height:18px;
    margin:0;
    flex-shrink:0;
}

.service-card span{
    flex:1;
}

.service-card.selected{
    border-color:#0d6efd;
    background:#eef5ff;
}

@media(min-width:768px){

.service-grid{
    grid-template-columns:1fr 1fr;
}

}

#otherServiceGroup{
    display:none;
}

.status{
    margin-top:8px;
    font-size:14px;
}

.success{
    color:#198754;
}

.error{
    color:#dc3545;
}

.notification{
    padding:14px 16px;
    border-radius:6px;
    margin-bottom:20px;
    display:none;
    font-size:15px;
}

.notification.success{
    background:#d1e7dd;
    color:#0f5132;
    border:1px solid #badbcc;
}

.notification.error{
    background:#f8d7da;
    color:#842029;
    border:1px solid #f5c2c7;
}

.notification.info{
    background:#cff4fc;
    color:#055160;
    border:1px solid #b6effb;
}

.notification.show{
    display:block;
}

.success-box{
    text-align:center;
    padding:50px 20px;
}

.success-box h2{
    color:#198754;
    margin-bottom:15px;
}

.success-box p{
    margin-bottom:25px;
}

.success-box button{
    padding:12px 25px;
}

.form-header {
    text-align: center;
    padding: 20px 15px;
}

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

.site-logo {
    width: 120px;
    max-width: 100%;
}