.elementor-261 .elementor-element.elementor-element-2d92514{--display:flex;--min-height:50vh;--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;--justify-content:center;--align-items:flex-start;--padding-top:64px;--padding-bottom:16px;--padding-left:48px;--padding-right:48px;}.elementor-261 .elementor-element.elementor-element-2d92514.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-261 .elementor-element.elementor-element-99bba55{width:var( --container-widget-width, 73% );max-width:73%;--container-widget-width:73%;--container-widget-flex-grow:0;}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title{color:var( --e-global-color-primary );margin:0px 0px 0px 0px;font-family:"Cormorant Garamond", Sans-serif;font-weight:500;line-height:0.8em;letter-spacing:-1px;}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title > span{color:var( --e-global-color-primary );}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:var( --e-global-typography-59dff66-font-family ), Sans-serif;font-weight:var( --e-global-typography-59dff66-font-weight );font-style:var( --e-global-typography-59dff66-font-style );line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-3be2703{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-261 .elementor-element.elementor-element-74837d4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0em;--padding-bottom:0em;--padding-left:6em;--padding-right:0em;}.elementor-261 .elementor-element.elementor-element-253497f{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:3em;--padding-bottom:3em;--padding-left:3em;--padding-right:3em;}.elementor-261 .elementor-element.elementor-element-11b49477{width:var( --container-widget-width, 100% );max-width:100%;padding:0em 0em 2em 0em;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title{color:#4A4A4A;margin:0px 0px 0px 0px;font-family:"Bauer Bodoni Regular", Sans-serif;font-size:2.5em;font-weight:500;line-height:0.8em;letter-spacing:-1px;}.elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title > span{color:var( --e-global-color-secondary );}.elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:var( --e-global-typography-59dff66-font-family ), Sans-serif;font-weight:var( --e-global-typography-59dff66-font-weight );font-style:var( --e-global-typography-59dff66-font-style );line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-93c4ad5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4em;--padding-bottom:4em;--padding-left:4em;--padding-right:4em;}.elementor-261 .elementor-element.elementor-element-5cdef17.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-261 .elementor-element.elementor-element-5cdef17 .elementor-main-swiper{height:100vh;}.elementor-261 .elementor-element.elementor-element-5cdef17 .elementor-swiper-button{font-size:20px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-261 .elementor-element.elementor-element-3be2703{--width:100%;}.elementor-261 .elementor-element.elementor-element-74837d4{--width:50%;}.elementor-261 .elementor-element.elementor-element-253497f{--width:100%;}.elementor-261 .elementor-element.elementor-element-93c4ad5{--width:70%;}}@media(max-width:1024px){.elementor-261 .elementor-element.elementor-element-2d92514{--flex-wrap:wrap;--align-content:flex-end;--padding-top:0px;--padding-bottom:16px;--padding-left:24px;--padding-right:24px;}.elementor-261 .elementor-element.elementor-element-99bba55{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title > span{line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-74837d4{--padding-top:2em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-261 .elementor-element.elementor-element-253497f{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-261 .elementor-element.elementor-element-11b49477{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title > span{line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-93c4ad5{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-261 .elementor-element.elementor-element-5cdef17.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-261 .elementor-element.elementor-element-2d92514{--width:100%;--min-height:50vh;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-261 .elementor-element.elementor-element-99bba55{width:100%;max-width:100%;}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title{font-size:3em;}.elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-99bba55 .elementskit-section-title-wraper .elementskit-section-title > span{line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-3be2703{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-261 .elementor-element.elementor-element-74837d4{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-261 .elementor-element.elementor-element-253497f{--padding-top:2em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-261 .elementor-element.elementor-element-11b49477{width:100%;max-width:100%;}.elementor-261 .elementor-element.elementor-element-11b49477.elementor-element{--order:-99999 /* order start hack */;}.elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-261 .elementor-element.elementor-element-11b49477 .elementskit-section-title-wraper .elementskit-section-title > span{line-height:var( --e-global-typography-59dff66-line-height );letter-spacing:var( --e-global-typography-59dff66-letter-spacing );}.elementor-261 .elementor-element.elementor-element-93c4ad5{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-261 .elementor-element.elementor-element-5cdef17.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-d101295 *//* ==================================================
   Kuvalähde CF7 – ultra compact placeholder style
   Scope: .kuvalahde-form
   ================================================== */
.kuvalahde-form{
  max-width: 720px;
}

/* CF7 default p spacing breaks compact layout */
.kuvalahde-form .wpcf7-form p{
  margin: 0 !important;
  padding: 0 !important;
}

/* Tight rhythm */
.kuvalahde-form .kuvalahde-row{
  margin: 0 0 12px;
}
.kuvalahde-form .kuvalahde-actions{
  margin-top: 10px;
}

/* 2-col grid like reference */
.kuvalahde-form .kuvalahde-grid-2{
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 34px;
  row-gap: 12px;
  margin: 0 0 12px;
}
@media (min-width: 768px){
  .kuvalahde-form .kuvalahde-grid-2{
    grid-template-columns: 1fr 1fr;
  }
}

/* Make CF7 wrapper span not interfere */
.kuvalahde-form .wpcf7-form-control-wrap{
  display: block;
}

/* Inputs: very compact underline */
.kuvalahde-form .kuvalahde-input{
  width: 100%;
  box-sizing: border-box;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.20);
  border-radius: 0;
  padding: 4px 0 7px;
  font-size: 14px;
  line-height: 1.2;
  color: rgba(0,0,0,.70);
  outline: none;
  box-shadow: none;
}

/* Placeholder = the "label" look */
.kuvalahde-form .kuvalahde-input::placeholder{
  color: rgba(0,0,0,.38);
  font-style: italic;
}
.kuvalahde-form .kuvalahde-input:focus{
  border-bottom-color: rgba(0,0,0,.38);
}

/* Only title we keep (last section) */
.kuvalahde-form .kuvalahde-heading{
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 400;
  color: rgba(0,0,0,.42);
  font-style: italic;
}

/* Textarea: compact, soft background */
.kuvalahde-form .kuvalahde-textarea{
  width: 100%;
  box-sizing: border-box;
  border: 0;
  background: rgba(0,0,0,.028);
  padding: 12px 12px;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(0,0,0,.70);
  outline: none;
  resize: vertical;
  min-height: 150px;
  max-height: 360px;
}
.kuvalahde-form .kuvalahde-textarea::placeholder{
  color: rgba(0,0,0,.38);
  font-style: italic;
}

/* Submit: underlined text, not a button */
.kuvalahde-form .kuvalahde-submit,
.kuvalahde-form input[type="submit"].kuvalahde-submit,
.kuvalahde-form .wpcf7-submit.kuvalahde-submit{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  cursor: pointer;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,.55) !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
  text-decoration-thickness: 1px !important;
  transition: color .2s ease;
}
.kuvalahde-form .kuvalahde-submit:hover{
  color: rgba(0,0,0,.78) !important;
}

/* Field validation errors */
.kuvalahde-form .wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: 12px;
  color: #9b2c2c;
}

/* ==================================================
   CF7 response output – Kuvalähde style
   ================================================== */
.kuvalahde-form .wpcf7-response-output{
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  background: rgba(0,0,0,.028);
  border-left: 2px solid rgba(0,0,0,.25) !important;
  color: rgba(0,0,0,.62);
  font-size: 13px;
  line-height: 1.5;
  font-style: italic;
  animation: kl-fade .35s ease both;
}

/* Onnistunut lähetys */
.kuvalahde-form .wpcf7-form.sent .wpcf7-response-output{
  background: rgba(46,94,78,.06);
  border-left-color: rgba(46,94,78,.55) !important;
  color: rgba(38,74,62,.85);
}
.kuvalahde-form .wpcf7-form.sent .wpcf7-response-output::before{
  content: "✓  ";
  font-style: normal;
}

/* Virheet ja puuttuvat kentät */
.kuvalahde-form .wpcf7-form.invalid .wpcf7-response-output,
.kuvalahde-form .wpcf7-form.unaccepted .wpcf7-response-output,
.kuvalahde-form .wpcf7-form.failed .wpcf7-response-output,
.kuvalahde-form .wpcf7-form.spam .wpcf7-response-output{
  background: rgba(155,44,44,.05);
  border-left-color: rgba(155,44,44,.5) !important;
  color: rgba(155,44,44,.85);
}

/* Fade-in */
@keyframes kl-fade{
  from{ opacity: 0; transform: translateY(4px); }
  to{ opacity: 1; transform: none; }
}

/* ==================================================
   Mobile: prevent iOS zoom but keep compact
   ================================================== */
@media (max-width: 767px){
  .kuvalahde-form .kuvalahde-input,
  .kuvalahde-form .kuvalahde-textarea{
    font-size: 16px;
  }
  .kuvalahde-form .kuvalahde-grid-2{
    column-gap: 22px;
    row-gap: 10px;
    margin-bottom: 10px;
  }
  .kuvalahde-form .kuvalahde-row{
    margin-bottom: 10px;
  }
  .kuvalahde-form .kuvalahde-textarea{
    min-height: 140px;
    padding: 11px 11px;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bauer Bodoni Regular';
	font-display: auto;
	src: url('https://kuvalahde.fi/wp-content/uploads/2026/01/Bauer-Bodoni-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */