.elementor-20 .elementor-element.elementor-element-6dee2b4b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-20 .elementor-element.elementor-element-7a819e4e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;}.elementor-20 .elementor-element.elementor-element-c191574{--display:flex;}body.elementor-page-20{padding:0px 32px 0px 32px;}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-7a819e4e{--width:52%;}}@media(max-width:1024px){.elementor-20 .elementor-element.elementor-element-6dee2b4b{--padding-top:100px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-6dee2b4b{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS for shortcode, class: .elementor-element-58b2e30 */.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ddd;
    margin-top: 6px;
    margin-bottom: 16px;
    font-size: 16px;
}

.contact-form textarea {
    min-height: 140px;
}

.contact-form input[type="submit"] {
    background-color: #AD30FF;
    color: white;
    border: none;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
}

.contact-form input[type="submit"]:hover {
    opacity: 0.85;
}
.wpcf7 form .wpcf7-response-output {
    border: none;
    background: #f3efe9;
    color: #333;
    padding: 16px 20px;
    margin-top: 20px;
    border-radius: 14px;
    font-size: 16px;
}

/* Onnistunut lähetys */
.wpcf7 .sent .wpcf7-response-output {
    background: transparent;
    border: 2px solid #AD30FF;
    color: #333;
    border-radius: 8px;
    padding: 12px 16px;
}

/* Virhe / lähetys epäonnistui */
.wpcf7 .failed .wpcf7-response-output,
.wpcf7 .invalid .wpcf7-response-output,
.wpcf7 .aborted .wpcf7-response-output {
    background: transparent;
    border: 2px solid #e74c3c;
    color: #333;
    border-radius: 8px;
    padding: 12px 16px;
}

.wpcf7-response-output {
    margin-top: 20px;
    font-weight: 500;
}

/* Peruskenttä */
.wpcf7 input,
.wpcf7 textarea {
    border: 1px solid rgba(0,0,0,0.15);
    transition: border 0.2s ease, opacity 0.2s ease;
}

/* Kun kentässä on sisältö */
.wpcf7 input:not(:placeholder-shown),
.wpcf7 textarea:not(:placeholder-shown) {
    border: 2px solid #AD30FF;
    opacity: 0.95;
}

/* Chromen autofill */
.wpcf7 input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
    border: 2px solid #AD30FF;
}/* End custom CSS */