/* People Map Locator – Complete Form Styles */

.pml-form-container {
    max-width: 860px !important;
    margin: 20px auto !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
}

.pml-form-title {
    background: #1e3a5f !important;
    color: #fff !important;
    padding: 28px 32px 12px !important;
    margin: 0 !important;
    font-size: 1.8em !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.pml-form-intro {
    background: #1e3a5f !important;
    color: #d0d8e0 !important;
    padding: 0 32px 24px !important;
    margin: 0 !important;
    text-align: center !important;
}

.pml-section-title {
    background: #eef4f9 !important;
    color: #1e3a5f !important;
    padding: 16px 32px !important;
    margin: 0 !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #d0dce8 !important;
    display: block !important;
    text-align: center !important;
}

.pml-form { padding: 24px 32px 32px !important; }

.pml-form-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    margin-bottom: 22px !important;
}

.pml-form-group {
    flex: 1 1 calc(50% - 12px) !important;
    min-width: 280px !important;
}

.pml-form-group.pml-full-width { flex: 1 1 100% !important; }

.pml-form-group label {
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    display: block !important;
    text-align: center !important;
}

.pml-form-group input[type="text"],
.pml-form-group input[type="email"],
.pml-form-group input[type="password"],
.pml-form-group input[type="tel"],
.pml-form-group input[type="url"],
.pml-form-group input[type="number"],
.pml-form-group textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid #c5d0dc !important;
    border-radius: 8px !important;
    height: 50px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.pml-form-group textarea {
    height: auto !important;
    min-height: 120px !important;
}

.pml-submit-btn {
    background: #1e3a5f !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 40px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

.pml-form-group select {
    width: 100% !important;
    padding: 14px 40px 14px 16px !important;
    border: 1px solid #c5d0dc !important;
    border-radius: 8px !important;
    height: 50px !important;
    box-sizing: border-box !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center !important;
    background-size: 12px 8px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
}

/* Phone field (intl-tel-input) */
.iti {
    width: 100% !important;
    display: block !important;
}
.iti input[type="tel"] {
    height: 50px !important;
    border-radius: 8px !important;
    width: 100% !important;
    padding-left: 100px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
}
.iti__flag-container {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    border-radius: 8px 0 0 8px !important;
}
.iti__selected-flag {
    height: 100% !important;
    padding: 0 8px 0 12px !important;
    border-radius: 8px 0 0 8px !important;
}
.iti__country-list { z-index: 10000 !important; }

/* Responsive */
@media (max-width: 720px) {
    .pml-form-row { flex-direction: column !important; }
    .pml-form-group { flex: 1 1 100% !important; min-width: 100% !important; }
}

/* Modal */
.pml-modal {
    position: fixed !important;
    z-index: 2147483647 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: auto !important;
    background-color: rgba(0,0,0,0.6) !important;
}
.pml-modal-content {
    background: #fff !important;
    margin: 4% auto !important;
    padding: 28px !important;
    border-radius: 16px !important;
    width: 90% !important;
    max-width: 640px !important;
    position: relative !important;
}
.pml-close {
    color: #aaa !important;
    float: right !important;
    font-size: 30px !important;
    font-weight: bold !important;
    cursor: pointer !important;
}

/* Login page */
.pml-login.pml-form-container { max-width: 860px !important; margin: 20px auto !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 4px 24px rgba(0,0,0,.08) !important; overflow: hidden !important; }
.pml-login .pml-form-title { display: block !important; background: #1e3a5f !important; color: #fff !important; text-align: center !important; font-size: 2em !important; font-weight: 700 !important; padding: 28px 32px 8px !important; margin: 0 !important; }
.pml-login .pml-form-intro { display: block !important; background: #1e3a5f !important; color: #d0d8e0 !important; text-align: center !important; padding: 0 32px 28px !important; margin: 0 !important; }
.pml-login .pml-form { padding: 28px 32px 32px !important; background: #fff !important; }
.pml-login .pml-form-group { display: block !important; width: 100% !important; margin: 0 0 22px !important; }
.pml-login .pml-form-group label { display: block !important; text-align: center !important; font-weight: 500 !important; margin: 0 0 8px !important; color: #4a5568 !important; }
.pml-login input[type="email"], .pml-login input[type="password"] { display: block !important; width: 100% !important; height: 52px !important; padding: 14px 16px !important; border: 1px solid #c5d0dc !important; border-radius: 10px !important; box-sizing: border-box !important; background: #fff !important; }
.pml-login .pml-form-actions, .pml-login .pml-login-forgot { text-align: center !important; }
.pml-login .pml-submit-btn { background: #1e3a5f !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 14px 48px !important; font-weight: 600 !important; }
