.container {
    background-color: #2F2F2F;
    padding: 20px;
    border-radius: 5px;
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
}
.form-group {
    margin-bottom: 15px;
}
.form-group label {
    display: block;
    color: #D3D3D3;
    font-size: 12px;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 10px;
    background-color: #1C1C1C;
    border: 1px solid #2F2F2F;
    color: #D3D3D3;
    font-size: 14px;
    box-sizing: border-box;
    border-radius: 3px;
}
.two-columns {
    display: flex;
    gap: 10px;
}
.two-columns .form-group {
    flex: 1;
}
.form-group textarea {
    height: 100px;
    resize: none;
}
.form-group select optgroup {
    color: #D3D3D3;
    font-weight: bold;
    font-style: normal;
    background-color: #51292F;
}
.form-group select option {
    color: #D3D3D3;
    background-color: #1C1C1C;
    padding: 2px 5px; /* Reduced padding */
    overflow-wrap: break-word;
    text-align: left;
    white-space: normal; /* Force normal wrapping */
}
.form-group select option:disabled {
    color: #D3D3D3;
    background-color: #1C1C1C;
    font-weight: normal;
}
.submit-btn {
    width: 100% !important;
    padding: 15px !important;
    background-color: #51292F !important;
    color: white !important;
    border: none !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin-top: 10px !important;
    border-radius: 0 !important;
}
.submit-btn:hover {
    background-color: #3E1F24 !important;
}
.honeypot {
    display: none;
}
.form-message {
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 3px;
    text-align: center;
}
.success-message {
    background-color: #2e7d32;
    color: white;
}
.error-message {
    background-color: #d32f2f;
    color: white;
}
@media (max-width: 600px) {
    .form-group label {
        font-size: 10px;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 14px; /* Increased for readability */
        padding: 8px;
        box-sizing: border-box;
    }
    .form-group select {
        max-width: 100%;
        height: auto;
        overflow-x: hidden;
        -webkit-appearance: none; /* Reduce native styling influence */
        -moz-appearance: none;
        appearance: none;
        background: #1C1C1C url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%23D3D3D3" d="M6 9l4-5H2z"/></svg>') no-repeat right 10px center; /* Custom arrow */
    }
    .form-group select option {
        font-size: 14px; /* Match input font size */
        max-width: 100%;
        white-space: normal; /* Allow wrapping */
        overflow-wrap: break-word;
        padding: 5px;
        line-height: 1.2;
    }
    .submit-btn {
        font-size: 14px;
        padding: 12px;
    }
    .two-columns {
        flex-direction: column;
        gap: 5px;
    }
    .two-columns .form-group {
        flex: none;
        width: 100%;
    }
}