/* ==============================================
   Custom CF7-friendly Bootstrap-like Grid
   Classes: cf__row, cf__col, cf__col-{breakpoint}-{size}
   12-column system – flexbox based
   Last updated for your form layout issues
=============================================== */

.cf__row {
  --cf-gutter-x: 1.5rem;
  --cf-gutter-y: 0;
  
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(-0.5 * var(--cf-gutter-x));
  margin-left: calc(-0.5 * var(--cf-gutter-x));
  margin-top: calc(-1 * var(--cf-gutter-y));
}

.cf__row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--cf-gutter-x) * 0.5);
  padding-left: calc(var(--cf-gutter-x) * 0.5);
  margin-top: var(--cf-gutter-y);
}

/* Auto / equal-width columns when no number is specified */
.cf__col {
  flex: 1 0 0%;
  margin-bottom: 15px;
}

.cf__row:last-child .cf__col {
}

/* Fixed column widths – 12-column system */
.cf__col-1  { flex: 0 0 auto; width: 8.33333333%; }
.cf__col-2  { flex: 0 0 auto; width: 16.66666667%; }
.cf__col-3  { flex: 0 0 auto; width: 25%; }
.cf__col-4  { flex: 0 0 auto; width: 33.33333333%; }
.cf__col-5  { flex: 0 0 auto; width: 41.66666667%; }
.cf__col-6  { flex: 0 0 auto; width: 50%; }
.cf__col-7  { flex: 0 0 auto; width: 58.33333333%; }
.cf__col-8  { flex: 0 0 auto; width: 66.66666667%; }
.cf__col-9  { flex: 0 0 auto; width: 75%; }
.cf__col-10 { flex: 0 0 auto; width: 83.33333333%; }
.cf__col-11 { flex: 0 0 auto; width: 91.66666667%; }
.cf__col-12 { flex: 0 0 auto; width: 100%; }

/* ── Responsive variants ──────────────────────────────────────── */

/* sm ≥ 576px */
@media (min-width: 576px) {
  .cf__col-sm   { flex: 1 0 0%; }
  .cf__col-sm-1  { flex: 0 0 auto; width:  8.33333333%; }
  .cf__col-sm-2  { flex: 0 0 auto; width: 16.66666667%; }
  .cf__col-sm-3  { flex: 0 0 auto; width: 25%; }
  .cf__col-sm-4  { flex: 0 0 auto; width: 33.33333333%; }
  .cf__col-sm-5  { flex: 0 0 auto; width: 41.66666667%; }
  .cf__col-sm-6  { flex: 0 0 auto; width: 50%; }
  .cf__col-sm-7  { flex: 0 0 auto; width: 58.33333333%; }
  .cf__col-sm-8  { flex: 0 0 auto; width: 66.66666667%; }
  .cf__col-sm-9  { flex: 0 0 auto; width: 75%; }
  .cf__col-sm-10 { flex: 0 0 auto; width: 83.33333333%; }
  .cf__col-sm-11 { flex: 0 0 auto; width: 91.66666667%; }
  .cf__col-sm-12 { flex: 0 0 auto; width: 100%; }
}

/* md ≥ 768px */
@media (min-width: 768px) {
  .cf__col-md   { flex: 1 0 0%; }
  .cf__col-md-1  { flex: 0 0 auto; width:  8.33333333%; }
  .cf__col-md-3  { flex: 0 0 auto; width: 25%; }
  .cf__col-md-4  { flex: 0 0 auto; width: 33.33333333%; }
  .cf__col-md-5  { flex: 0 0 auto; width: 41.66666667%; }
  .cf__col-md-6  { flex: 0 0 auto; width: 50%; }
  .cf__col-md-8  { flex: 0 0 auto; width: 66.66666667%; }
  .cf__col-md-9  { flex: 0 0 auto; width: 75%; }
  .cf__col-md-12 { flex: 0 0 auto; width: 100%; }
}

/* lg ≥ 992px – your main desktop breakpoint */
@media (min-width: 992px) {
  .cf__col-lg   { flex: 1 0 0%; }
  .cf__col-lg-3  { flex: 0 0 auto; width: 25%; }
  .cf__col-lg-4  { flex: 0 0 auto; width: 33.33333333%; }
  .cf__col-lg-5  { flex: 0 0 auto; width: 41.66666667%; }
  .cf__col-lg-6  { flex: 0 0 auto; width: 50%; }
  .cf__col-lg-7  { flex: 0 0 auto; width: 58.33333333%; }
  .cf__col-lg-8  { flex: 0 0 auto; width: 66.66666667%; }
  .cf__col-lg-9  { flex: 0 0 auto; width: 75%; }
  .cf__col-lg-12 { flex: 0 0 auto; width: 100%; }

  /* Force no wrapping in main row – helps keep textarea in same row */
  .cf__row.force-no-wrap {
    flex-wrap: nowrap !important;
  }
}

/* xl ≥ 1200px – optional finer control */
@media (min-width: 1200px) {
  .cf__col-xl-3  { flex: 0 0 auto; width: 25%; }
  .cf__col-xl-4  { flex: 0 0 auto; width: 33.33333333%; }
  .cf__col-xl-5  { flex: 0 0 auto; width: 41.66666667%; }
  .cf__col-xl-7  { flex: 0 0 auto; width: 58.33333333%; }
  .cf__col-xl-8  { flex: 0 0 auto; width: 66.66666667%; }
  .cf__col-xl-9  { flex: 0 0 auto; width: 75%; }
}

/* CF7-specific fixes – make fields behave inside columns */
.wpcf7-form-control-wrap,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
  box-sizing: border-box;
  margin: 0;
  font-size: .875rem !important;
}

.cf__col textarea {
  min-height: 140px;
  resize: vertical;
}

/* Remove CF7 paragraph margins (even if autop is still on) */
.wpcf7 p {
  margin: 0 !important;
  padding: 0 !important;
}
.footer {
    border-top: 1px solid #CBD3D6;
}

.page-title-breadcrumb {
  position: relative;
  overflow: hidden;
}

.page-title-breadcrumb .saumet-page-title-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: 0;
}

.page-title-breadcrumb .pt_mask {
  position: relative;
  z-index: 1;
}

.copyright {
    font-weight: 400;
    padding-top: 40px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-content: center;
    align-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.copyright .normal_logo {
    display: none;
}
.copyright .logo {
    margin-bottom: 25px;
}
.copyright .retina_logo {
    max-width: 130px;
}
.fw-300 {
    font-weight: 300;
}
.fw-400 {
    font-weight: 400;
}
.fw-500 {
    font-weight: 500;
}
.fw-600 {
    font-weight: 600;
}
.fw-700 {
    font-weight: 700;
}
.fw-800 {
    font-weight: 800;
}
#wrapper-out .button {
    letter-spacing: 1px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.saumet-slider {
  --n: var(--slide-count, 4);
  display: flex;
  width: 100%;
  height: 530px;                        /* adjust as needed */
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.saumet-slider__slide {
    flex: 1 1 0;
    transition: flex 0.4s ease-out;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;            /* push content to right */
    text-decoration: none;
    color: white;
    overflow: hidden;
}

.saumet-slider__slide:hover {
  flex-grow: calc((4 / 3) * (var(--n) - 1));
  z-index: 2;
}

/* First slide expanded by default when nothing is hovered */
.saumet-slider:not(:hover) .saumet-slider__slide:first-child {
  flex-grow: calc((4 / 3) * (var(--n) - 1));
}

/* Title container - rotated 180deg, right-aligned, vertically centered */
.saumet-slider__title-wrapper {
    display: flex;
    align-items: center;                  /* vertical center */
    height: 100%;
    padding: 0 3rem 0 1.5rem;             /* more space on right, some on left */
    writing-mode: vertical-rl;            /* modern & clean vertical text */
    text-orientation: mixed;
    transform: rotate(180deg);            /* flip so text reads bottom → top */
    transform-origin: center;
    justify-content: center;
}

.page-title-breadcrumb > .items-center {
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
}

#wrapper .page-title-breadcrumb .page-title-holder {
    font-weight: 600;
}

/* Optional: fallback for older browsers that don't support writing-mode well */
@supports not (writing-mode: vertical-rl) {
  .saumet-slider__title-wrapper {
    writing-mode: horizontal-tb;
    transform: rotate(90deg);
    justify-content: center;
  }
}

.saumet-slider__title {
    color: #fff;
    font-size: 2.1875rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    line-height: normal;
    white-space: nowrap;
    pointer-events: none;
}

/* Optional overlay for better contrast on hover / first slide */
.saumet-slider__slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to left,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.25) 40%,
    rgba(0,0,0,0.05) 70%,
    transparent 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.saumet-slider__slide:hover::after,
.saumet-slider:not(:hover) .saumet-slider__slide:first-child::after {
}

/* Mobile fallback – stack vertically, title on bottom, no rotation */
@media (max-width: 768px) {
  .saumet-slider {
    flex-direction: column;
    height: auto;
    min-height: 100vh;
  }

  .saumet-slider__slide {
    flex: 1 1 auto;
    min-height: 40vh;
    justify-content: center;           /* center horizontally on mobile */
    align-items: flex-end;             /* title at bottom */
  }

  .saumet-slider__slide,
  .saumet-slider:not(:hover) .saumet-slider__slide:first-child {
    flex-grow: 1;
  }

  .saumet-slider__title-wrapper {
    writing-mode: horizontal-tb;
    transform: none;
    height: auto;
    width: 100%;
    padding: 2rem 1.5rem;
    justify-content: flex-end;
    text-align: right;
  }

  .saumet-slider__title {
    font-size: clamp(1.6rem, 6vw, 3.2rem);
  }
}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], #commentform input:not(#submit), #commentform textarea, textarea, input::not([type=submit]):focus, textarea:focus {
  border-radius: 4px;
  border-color: #fff !important;
  font-weight: 300;
  color: #000000 !important;
  font-size: .875rem !important;
  line-height: normal !important;
}
input[type=text]::placeholder, input[type=email]::placeholder, input[type=password]::placeholder, input[type=search]::placeholder, input[type=tel]::placeholder, #commentform input:not(#submit)::placeholder, #commentform textarea::placeholder, textarea::placeholder, input::not([type=submit]):focus, textarea:focus::placeholder {
  color: #000000 !important;
}
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=password], .wpcf7 input[type=tel], textarea {
    margin-bottom: 0 !important;
    border-radius: 4px !important;
    border-color: #fff !important;
}
textarea {
  resize: none !important;
  height: 105px !important;
}
.wpcf7-form-control {
  position: relative;
  display: block;
}
#wrapper span.wpcf7-spinner {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    height: 18px;
}
.wpcf7-not-valid-tip {
  font-size: .875rem;
}
input::placeholder, textarea::placeholder {
  color: #000000 !important;
}
#wrapper b, #wrapper strong {
    font-weight: 500;
}
#gotoTop {
    background-color: #14a4e0;
    border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .vc_column-inner .text-right {
    text-align: left;
  }
}
table.services {

}
table.services tr {
  
}
table.services tr td {
  padding: 10px 15px;
}
table.services tr td a {
  display: inline-block;
  border-radius: 4px;
  font-weight: 700;
  color: #1C5066;
  padding: 15px 45px;
  border: 1px solid #14A4E0;
  font-size: .875rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: normal;
}
table.services tr td a:hover {
  background-color: #14A4E0;
  color: #fff;
}
table.services tr th {
  background-color: #F0F3F5;
}
table.services tr th {
  font-weight: 500;
  border-top: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
  border-left: 1px solid #E2E2E2;
  border-right: 1px solid #E2E2E2;
  padding: 10px 15px;
}
table.services tr td:first-child {
  border-left: 1px solid #E2E2E2;
  border-right: 1px solid #E2E2E2;
}
table.services tr td:last-child {
  text-align: right;
  border-right: 1px solid #E2E2E2;
}
table.services tr td:last-child {
  text-align: right;
}
table.services tr:last-child td {
  border-bottom: 1px solid #E2E2E2;
}
table.services tr:not(:last-child):not(:first-child) td {
  border-bottom: 1px solid #E2E2E2;
}
.woocommerce .page-title-breadcrumb {
  height: 366px;
  background: url('../images/loomakasvatajale.jpg') no-repeat;
  background-size: cover;
}
.woocommerce .page-title-breadcrumb .page-title-holder {
  color: #fff;
  font-size: 45px;
}
.image_prod_wrap img {
  width: 100%;
  height: auto;
}
.woocommerce .page-title-breadcrumb + .shop__description + .container {
  flex-direction: row-reverse;
}
.woocommerce .title-holder h3.sidebar-title, .woocommerce .sidebar-wrap .wp-block-heading,
.woocommerce .title-holder h3.sidebar-title.title-pos-below, .woocommerce .sidebar-wrap .wp-block-heading {
  border-bottom: 0;
  font-size: 16px;
  line-height: 28px;
  font-weight: 500;
  color: #000000;
  text-transform: none;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.woocommerce .sidebar-widget:not(.woocommerce) ul:not(.get_social):not(.instagram-pics):not(.instagram-widget):not(.tabs) li:not(.jtwt_tweet) {
  padding: 0 0 0 20px;
  margin: 0;
  border-bottom: 0;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNiA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMC4zNTM1MTYgMC4zNTM1NzdMNC4zNjcyMyA0LjM2NzI5TDAuMzUzNTE2IDguMzgxIiBzdHJva2U9ImJsYWNrIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-position: 0 10px;
}
.woocommerce .sidebar-widget:not(.woocommerce) ul:not(.get_social):not(.instagram-pics):not(.instagram-widget):not(.tabs) li:not(.jtwt_tweet) a {
  font-size: 16px;
  line-height: 28px;
  font-weight: 300;
  color: #000000;  
}
.woocommerce .products.columns-1 {

}
.woocommerce .products.columns-1 .product {
  padding-bottom: 40px;
  border-bottom: 1px solid #E2E2E2;
  margin-bottom: 40px;
}
.woocommerce .products.columns-1 .product:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.woocommerce .products.columns-1 .product .product_details,
.woocommerce .products.columns-1 .product .inside_prod {
  border: 0;
}
.woocommerce .products.columns-1 .product .product_details {
  flex: 1 1 0%;
  min-width: 0;
}
.woocommerce .products.columns-1 .product .inside_prod {
  display: flex;
  flex-direction: row;
}
.woocommerce .products.columns-1 .product .inside_prod .image__prod {
  flex: 0 0 211px;
}
.woocommerce .products.columns-1 .product .product_details h3 {
  font-weight: 500;
  color: #000000;
  font-size: 22px;
  line-height: normal;
  margin-bottom: 10px;
}
.woocommerce .products .product .product_details .product_price {
  font-weight: 500;
  color: #14A4E0;
  font-size: 15px;
  line-height: normal;
  margin-bottom: 10px;
}
.woocommerce .products .product .product_details .product__excerpt {
  font-size: 15px;
  font-weight: 300;
  color: #000000;
  line-height: normal;
}
.shop__description {
  max-width: 1200px;
  position: relative;
  width: 100%;
  padding-top: 3rem;
}
@media (max-width: 767px) {
  .woocommerce .products.columns-1 .product .inside_prod {
    flex-direction: column;     /* ← key change: stack vertically */
    align-items: flex-start;        /* centers image if you want – or remove for left align */
    gap: 12px;                  /* space between image and details */
  }
  .woocommerce .products.columns-1 .product .inside_prod .image__prod {
    flex: 0 0 auto;             /* reset flex basis */
    width: 100%;                /* but never bigger than container */
  }
  .woocommerce .products.columns-1 .product .image__prod img {
    width: 100%;
    height: auto;
    object-fit: contain;        /* keeps proportions, no cropping */
    display: block;
  }
  .woocommerce .products.columns-1 .product .product_details {
    padding: 0;
  }
  .woocommerce .page-title-breadcrumb {
    height: auto;
    text-align: center;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  table.services {
      font-size: 15px;
      line-height: normal;
  }
  table.services tr td a {
      padding: 10px 20px;
      text-align: center;
      font-size: 12px;
  }
  .shop__description .vc_row > .wpb_column:not(:last-child) {
    margin-bottom: 30px;
  }
}
.product__stock p.stock {
    display: inline-block;
    margin-top: 15px;
    font-weight: 600;
}
.saumet-column-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.saumet-custom-heading-title {
  box-sizing: border-box;
  min-width: 0;
}
.saumet-custom-heading-icon {
  display: block;
  flex: 0 0 auto;
  height: auto;
  max-width: 100%;
}