/* Vaalea, kahden sarakkeen lomake samalla sinisellä sivustolla. */
#yhteystiedot .contact-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(260px, .9fr);
    gap: 40px;
    align-items: start;
    max-width: 1200px;
}
#yhteystiedot .contact-form-container {
    padding: 36px;
    background: #fff;
    color: #13334f;
    border: 1px solid #dae5ef;
    border-radius: 10px;
    backdrop-filter: none;
    box-shadow: 0 12px 36px rgba(12, 42, 77, .1);
}
#yhteystiedot .contact-form-container h3 { color: #12334d; font-size: 1.5rem; line-height: 1.3; margin: 0 0 10px; }
.contact-form-container .form-intro { color: #526b81; font-size: .9rem; line-height: 1.6; margin: 0 0 28px; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.contact-form > * { grid-column: 1 / -1; min-width: 0; }
.contact-form > .form-half { grid-column: auto; }
.contact-form .form-group { gap: 7px; }
.contact-form .form-group label, .contact-form .form-group legend { color: #183b59; font-size: .875rem; font-weight: 600; }
.contact-form .optional-label { font-weight: 400; color: #526b81; }
.contact-form .form-group input:not([type="checkbox"]):not([type="radio"]),
.contact-form .form-group textarea,
.contact-form .form-group select {
    width: 100%; min-width: 0; min-height: 48px;
    padding: 12px 14px;
    background: #f9fbfd; color: #111;
    border: 1px solid #c6d6e6; border-radius: 4px;
    font: inherit; font-size: 1rem;
    backdrop-filter: none; color-scheme: light;
}
.contact-form .form-group textarea { min-height: 144px; resize: vertical; }
.contact-form .form-group select { cursor: pointer; }
.contact-form .form-group input::placeholder, .contact-form .form-group textarea::placeholder { color: #667f93; opacity: 1; }
.contact-form .form-group input:not([type="checkbox"]):not([type="radio"]):focus,
.contact-form .form-group textarea:focus, .contact-form .form-group select:focus {
    background: #fff; color: #111; border-color: #2475bd;
    outline: 2px solid #8bc4f5; outline-offset: 1px;
    box-shadow: none;
}
#yhteystiedot .contact-form-container :focus-visible { outline-color: #165fb6; }
.contact-form .quote-choice label { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; }
.contact-form .form-group input[type="checkbox"], .contact-form .form-group input[type="radio"] { accent-color: #087cb5; }
.contact-form #file-help, .contact-form .privacy-note { color: #526b81; font-size: .8rem; line-height: 1.7; }
.contact-form .privacy-note { margin: 0; }
.contact-form .privacy-note a { color: #0876b1; text-underline-offset: 3px; }
.contact-form .attachment-list li { border-bottom-color: #dce6f0; }
.contact-form .attachment-feedback { color: #45617f; }
.contact-form .attachment-feedback.attachment-error { color: #881337; }
.contact-form .cta-button {
    display: flex; align-items: center; justify-content: space-between;
    margin: 0; padding: 16px 20px; min-height: 52px;
    background: #087cb5; color: #fff; border-radius: 5px;
    font-size: 1rem; text-align: left; box-shadow: none;
}
.contact-form .cta-button::after { content: '\2197'; padding-left: 16px; }
.contact-form .cta-button:hover { background: #07699b; transform: none; box-shadow: none; }
.contact-form .upload-progress-panel { background: #edf5fd; color: #16385b; border-color: #c6d6e6; border-radius: 5px; }
#yhteystiedot .contact-wrapper > .contact-info-container:last-child { padding-top: 36px; }
@media (max-width: 1000px) {
    #yhteystiedot .contact-wrapper { grid-template-columns: minmax(0, 1fr); max-width: 800px; gap: 32px; }
    #yhteystiedot .contact-wrapper > .contact-info-container:last-child { padding-top: 0; }
}
@media (max-width: 600px) {
    #yhteystiedot .contact-form-container { padding: 24px 20px; }
    .contact-form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .contact-form > .form-half { grid-column: 1 / -1; }
    #yhteystiedot .contact-form-container h3 { font-size: 1.3rem; }
}
