/* --- Contact Form Styles --- */
.custom-form { 
    background: var(--surface-color); 
    padding: 30px; 
    border-radius: 16px; 
    margin-bottom: 20px;
    border: 1px solid var(--border-color); 
    box-shadow: 0 4px 12px rgba(0,0,0,0.05); 
    /* Enforce vertical layout strictly */
    display: flex; 
    flex-direction: column; 
    gap: 24px; 
}
.form-group { 
    text-align: left; 
    display: flex;
    flex-direction: column;
    gap: 8px; /* Space between label and input */
}
.form-group label { 
    font-weight: 600; 
    font-size: 0.95rem; 
    color: var(--text-color);
}
.form-input { 
    width: 100%; 
    padding: 14px 16px; 
    border: 1px solid var(--border-color); 
    border-radius: 8px; 
    background: var(--bg-color); 
    color: var(--text-color); 
    font-size: 1rem; 
    font-family: inherit; 
    box-sizing: border-box; 
    transition: border-color 0.2s ease, box-shadow 0.2s ease; 
}
.form-input:focus { 
    outline: none; 
    border-color: var(--primary-brand); 
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-brand) 20%, transparent); 
}
textarea.form-input { 
    resize: vertical; 
    min-height: 120px; 
}

/* --- Select Wrapper & Custom SVG Icon --- */
.select-wrapper {
    position: relative;
    width: 100%;
}
select.form-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 48px; /* Make room for the absolutely positioned icon */
    cursor: pointer;
}
.dropdown-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    pointer-events: none; /* Extremely important: lets clicks pass through to the <select> */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-color);
    opacity: 0.7;
}
/* Target the specific path injected by MarkdownProcessor */
.dropdown-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}