.image-text-block, .text-image-block {
    direction: ltr;
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto;
    box-sizing: border-box;
    margin: 0;
    position: relative;
}

.image-text-block h1, .image-text-block h2, .image-text-block h3, .image-text-block h4, .image-text-block h5, .image-text-block h6 .image-text-block .wc-block-grid__product-title {
    color: #fff !important;
}

.image-text-block.dark_tc h1, .image-text-block.dark_tc h2, .image-text-block.dark_tc h3, .image-text-block.dark_tc h4, .image-text-block.dark_tc h5, .image-text-block.dark_tc h6, .image-text-block.dark_tc .wc-block-grid__product-title.dark_tc {
    color: #000 !important;
}

.light_tc h1, .light_tc h2, .light_tc h3, .light_tc h4, .light_tc h5 {
    color: #fff !important;
}

.video-text-block {
    direction: ltr;
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto;
    box-sizing: border-box;
    margin: 0;
}

.copyright_it {
    font-size: 12px;
    display: inline-block;
    padding: 4px 6px;
    position:absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    background: rgba(0,0,0,0.1);
}

.ti_image {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}

.ti_image {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

.it_image img, .ti_image img {
    width: 100%;
    display: block;
    height: auto;
}

.shadow picture {
    border: 4px solid white;
    box-shadow: 5px 5px 20px rgb(0 0 0 / 50%);
    -webkit-box-shadow: 5px 5px 20px rgb(0 0 0 / 50%);
    -moz-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5);
    display: block;
}

.image-text-block .swiper {
    overflow: initial !important;
}
/* 
.swiper-slide .shadow picture {
    box-shadow:none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
} */

.it_image.tilt_up, .ti_image.tilt_up {
    -webkit-transform: rotate(2deg);
    -moz-transform: rotate(2deg);
    -ms-transform: rotate(2deg);
    -o-transform: rotate(2deg);
    transform: rotate(2deg);
    -webkit-backface-visibility: hidden; /* Enable hardware acceleration for smoother rendering */
    -webkit-font-smoothing: antialiased; /* Enable anti-aliasing for smoother edges */
    image-rendering: auto;
    outline: 1px solid transparent;
    margin: 24px;
}

.it_image.tilt_down, .ti_image.tilt_down {
    margin-top: 24px;
    -webkit-transform: rotate(-2deg);
    -moz-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    transform: rotate(-2deg);
    -webkit-backface-visibility: hidden; /* Enable hardware acceleration for smoother rendering */
    -webkit-font-smoothing: antialiased; /* Enable anti-aliasing for smoother edges */
    image-rendering: auto;
    outline: 1px solid transparent;
    margin: 24px;
}

.it_text {
    direction: ltr;
    grid-column: 2;
    grid-row: 1;
    padding: 0 0 0 48px;
    word-break: break-word;
}

.ti_text {
    direction: ltr;
    grid-column: 1;
    grid-row: 1;
    padding: 0 48px 0 0;
    word-break: break-word;
}

.full_width {
    padding: 48px;
}

.not_full_width  {
    max-width: var(--restricted-width);
    margin: 0 auto;
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25% !important; /* 16:9 aspect ratio */
    margin-bottom: 1em;
  }
  
  .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .dark_tc {
    color: #000 !important;
    padding: 24px !important;
  }

  .light_tc {
    color: #fff !important;
    padding: 24px !important;
  }

  .tib_button a {
    background: var(--body-color-other) !important;
    color: #fff !important;
    border-radius: 6px;
    /* border: 1px solid var(--body-font-color) !important; */
    display: inline-block;
    padding: 12px 20px 10px 20px !important;
    text-align: center;
    margin: 24px auto;
    font-size: var(--font-size-hero-button) !important;
    line-height: var(--font-size-hero-button) !important;
    font-family: var(--alt-font);
    text-decoration: none;
  }

    .dark_tc a, .dark_tc a:hover {
        color: #000 !important;
    }

    .light_tc a, .light_tc a:hover {
        color: #fff !important;
    }

    .light_tc a.add_to_cart_button, .light_tc a.add_to_cart_button:hover {
          color: #000 !important;
    }

  .dark_tc .tib_button a {
    background: #000 !important;
    color: #fff !important;
  }

  .dark_tc .tib_button a:hover {
    background: rgba(255,255,255,1) !important;
    color:#000 !important;
    text-decoration: none;
  }

  .light_tc .tib_button a {
    color: #000 !important;
    background: #fff !important;
  }

  .light_tc .tib_button a:hover {
    color: #fff !important;
    background: #000 !important;
    text-decoration: none;
  }


@media (max-width: 1024px) {

    .tib_button {
        font-size: var(--font-size-body-button-mobile) !important;
        text-align: center;
    }

    .full_width {
        padding: 12px;
    }

    .image-text-block, .text-index-block {
        grid-template-columns: 100%!important;
    }

    .it_image img.tilt_down, .ti_image img.tilt_down {
        margin-top: 0;
    }

    .video-text-block {
        grid-template-columns: 100%!important;
        margin: 0;
    }

    .it_image {
        grid-column: 1;
        grid-row: 2;
        padding-bottom: 0;
        margin: 0;
    }

    .ti_image {
        grid-column: 1;
        grid-row: 2;
        padding-bottom: 0;
        margin: 0;
    }

    .ti_image img {
        margin: 0;
        width: 100%;
    }

    .it_text {
        grid-column: 1;
        grid-row: 1;
        padding: 36px 12px;
    }

    .full_width  .it_text {
        padding: 36px 12px;
    }

    .ti_text {
        grid-column: 1;
        grid-row: 1; 
        padding: 36px 12px;
    }
}

.my-ti-block .pc_slider {
    position: relative;
    font-family: var(--body-alt-font) !important;
  }
  
  .my-ti-block .pc_slider .inner_pc_slider {
      position:relative;
      padding: 0 12px
  }
  
  .my-ti-block .pc_slider .pc_image img {
    width: 100%;
    height: 224px;
    object-fit: cover;
  }
  
  .my-ti-block .pc_slider .pc_caption {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
  
  .my-ti-block .pc_image {
      overflow: hidden;
      position: relative;
      display: block;
  }
  
  .my-ti-block .zoomtransition img {
      transition: transform 500ms ease-in-out 0s;
      -webkit-transition: -webkit-transform 0.5s ease-in-out;
      transform: scale(1); 
      -webkit-transform: scale(1);
      display: block;
  }
  
  .my-ti-block .zoomtransition:hover img {
      transform: scale(1.05);
      -webkit-transform: scale(1.05);
  }
  
  .my-ti-block .pc_slider .pc_caption .inner_caption {
      color: #fff;
      font-size: var(--font-size-carousel);
      line-height: var(--font-size-line-height);
      padding: 12px;
      letter-spacing: 1px;
      font-weight: 400;
      opacity: var(--opacity-text);
      width: 90%;
      display: inline-block;
  }
  
  .my-ti-block .pc_slider .pc_caption .inner_caption_subhead {
      color: #fff;
      font-size: var(--font-size-carousel-subhead);
    line-height: var(--font-size-line-height-subhead);
      padding: 12px;
      opacity: var(--opacity-text);
      width: 90%;
      display:inline-block;
  }
  
  @media screen and (max-width: 820px) {
     .my-ti-block .pc_slider .inner_pc_slider {
          position:relative;
          padding: 12px 0;
      }
     .my-ti-block .pc_slider .pc_caption .inner_caption {
          padding: 6px;
      }

     .my-ti-block .it_image.tilt_up, .my-ti-block .ti_image.tilt_up, .my-ti-block .it_image.tilt_down, .my-ti-block .ti_image.tilt_down {
        margin: 6px 0 24px 0 !important;
        padding: 48px;
      }

     .my-ti-block .dark_tc, .light_tc {
        padding: 12px !important;
      }

    .dark_tc {
        color: #000 !important;
        padding: 12px !important;
    }
  }

  @media screen and (max-width: 600px) {
   .my-ti-block .it_image.tilt_up, .my-ti-block .ti_image.tilt_up, .my-ti-block  .it_image.tilt_down,  .my-ti-block .ti_image.tilt_down {
        margin: 6px 0 24px 0 !important;
        padding: 24px;
      }
  }