/* Gravity Forms -lomakkeiden uusi ilme (Pen-malli). Gravity Formsin oma CSS on pois
   (Forms::register), joten kenttien ulkoasu määritellään kokonaan tässä. Käyttö: kääreelle
   luokka .mt-gf. Ladataan vain sivuille, joilla on lomakelohko (Forms::enqueue_styles). */
.mt-gf{container-type:inline-size}
.mt-gf .gform_wrapper{margin-block-start:1.125rem}
.mt-gf .gform_fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.125rem 1rem}
.mt-gf .gfield{grid-column:1/-1;min-inline-size:0;margin:0;padding:0;border:0}
.mt-gf .gfield--type-hidden,.mt-gf .gform_validation_container{display:none}
.mt-gf .gsection_title{margin:0;font:500 var(--mt-fs-2xs)/1.3 var(--mt-font-display);letter-spacing:var(--mt-tracking-caps);text-transform:uppercase;color:var(--mt-muted)}
.mt-gf .gfield_label{display:block;margin:0 0 .375rem;padding:0;font-size:var(--mt-fs-sm);font-weight:500;line-height:1.5}
.mt-gf .gfield_required{margin-inline-start:.1875rem;color:inherit}
.mt-gf .gfield input:where([type=text],[type=email],[type=tel]),.mt-gf .gfield textarea{inline-size:100%;min-block-size:3rem;padding:.75rem .875rem;border:.0625rem solid var(--mt-field);border-radius:var(--mt-radius-sm);background:var(--mt-white);color:var(--mt-ink);font:inherit;font-size:var(--mt-fs-lg);line-height:1.5}
.mt-gf .gfield textarea{block-size:7.5rem;min-block-size:7.5rem;resize:vertical}
.mt-gf .gfield ::placeholder{color:var(--mt-muted);opacity:1}
.mt-gf .gfield :where(input,textarea):hover{border-color:var(--mt-muted)}
.mt-gf .gfield :where(input,textarea):focus-visible{outline:.1875rem solid var(--mt-coral);outline-offset:.0625rem;border-color:var(--mt-navy)}
.mt-gf .gfield_checkbox{display:flex;flex-wrap:wrap;gap:.625rem 1.75rem}
.mt-gf .gchoice{display:flex;gap:.625rem;align-items:center;font-size:var(--mt-fs-base)}
.mt-gf .gfield .gchoice input[type=checkbox]{flex:none;inline-size:1.5rem;block-size:1.5rem;margin:0;border-radius:.1875rem;accent-color:var(--mt-navy)}
.mt-gf .gchoice label{margin:0;line-height:1.5}
.mt-gf .gfield--type-checkbox>.gfield_label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mt-gf .gfield_error :where(input,textarea){border-color:var(--mt-danger)}
.mt-gf .validation_message,.mt-gf .gform_validation_errors{margin:.375rem 0 0;font-size:var(--mt-fs-md);color:var(--mt-danger)}
.mt-gf .gform_validation_errors{margin-block-end:1rem;padding:1rem;border:.0625rem solid var(--mt-danger);border-radius:var(--mt-radius-sm);background:var(--mt-white)}
.mt-gf .gform_validation_errors h2{margin:0;font:inherit;font-weight:700}
.mt-gf .gform_validation_errors ol{margin:.5rem 0 0;padding-inline-start:1.25rem}
.mt-gf .gform_footer{margin-block-start:1.5rem}
.mt-gf .gform_button{display:inline-flex;align-items:center;gap:.625rem;min-block-size:3rem;padding:.75rem 1.625rem;border:0;border-radius:var(--mt-radius-pill);background:var(--mt-coral-strong);color:var(--mt-white);font:500 var(--mt-fs-xs)/1.2 var(--mt-font-display);letter-spacing:var(--mt-tracking-caps);text-transform:uppercase;cursor:pointer;transition:background-color var(--mt-transition)}
.mt-gf .gform_button:hover{background:var(--mt-coral-deep)}
.mt-gf .gform_confirmation_message{margin-block-start:1.5rem;padding:1.25rem;border-radius:var(--mt-radius-sm);background:var(--mt-white);font-weight:500}
/* Valintapillerit (kentän CSS-luokka mt-gf-pills): radiot näkyvät pillereinä, valittu korostuu täytöllä ja reunalla.
   Kentän nimi (legend) jää ruudunlukijalle; näkyvänä ohjeena toimii lomakkeen johdanto. */
.mt-gf .mt-gf-pills>.gfield_label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mt-gf .mt-gf-pills .gfield_radio{display:flex;flex-wrap:wrap;gap:.5rem}
.mt-gf .mt-gf-pills .gchoice{position:relative;display:block}
.mt-gf .mt-gf-pills .gfield .gchoice input[type=radio],.mt-gf .mt-gf-pills .gchoice input[type=radio]{position:absolute;inset:0;inline-size:100%;block-size:100%;margin:0;opacity:0;cursor:pointer}
.mt-gf .mt-gf-pills .gchoice label{display:inline-flex;align-items:center;min-block-size:2.75rem;margin:0;padding:.5rem 1.125rem;border:.0625rem solid var(--mt-line);border-radius:var(--mt-radius-pill);background:var(--mt-white);color:var(--mt-ink);font-size:var(--mt-fs-sm);font-weight:500;line-height:1.4;transition:background-color var(--mt-transition),border-color var(--mt-transition)}
.mt-gf .mt-gf-pills .gchoice input:hover+label{border-color:var(--mt-muted)}
.mt-gf .mt-gf-pills .gchoice input:checked+label{border-color:var(--mt-navy);border-width:.09375rem;background:var(--mt-blush)}
.mt-gf .mt-gf-pills .gchoice input:focus-visible+label{outline:.1875rem solid var(--mt-coral);outline-offset:.125rem}
/* Lomake tummalla pohjalla. */
.mt-gf--navy .gform_wrapper{margin:0}
.mt-gf--navy .gfield_label,.mt-gf--navy .gchoice label{color:var(--mt-white)}
.mt-gf--navy .gfield select{inline-size:100%;min-block-size:3rem;padding:.75rem .875rem;border:.0625rem solid var(--mt-field);border-radius:var(--mt-radius-sm);background:var(--mt-white);color:var(--mt-ink);font:inherit;font-size:var(--mt-fs-lg)}
.mt-gf--navy .validation_message,.mt-gf--navy .gform_validation_errors{color:var(--mt-danger-on-navy)}
.mt-gf--navy .gform_validation_errors{border-color:var(--mt-danger-on-navy);background:transparent}
.mt-gf--navy .gfield_error :where(input,textarea,select){border-color:var(--mt-danger-line-on-navy);border-width:.125rem}
.mt-gf--navy .gform_confirmation_message{background:var(--mt-on-navy-line);color:var(--mt-white)}
.mt-gf .gfield select{inline-size:100%;min-block-size:3rem;padding:.75rem .875rem;border:.0625rem solid var(--mt-field);border-radius:var(--mt-radius-sm);background:var(--mt-white);color:var(--mt-ink);font:inherit;font-size:var(--mt-fs-lg)}
@container (min-width:30rem){.mt-gf .gfield--width-half{grid-column:span 6}.mt-gf .gfield--width-third{grid-column:span 4}}
