#custom_epo_logic_wrapper h1,
#custom_epo_logic_wrapper h2,
#custom_epo_logic_wrapper h3,
#custom_epo_logic_wrapper h4,
#custom_epo_logic_wrapper p {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

#add_field_btn,
#add_field_btn_cord,
#custom_epo_logic_wrapper .custom_epo_video_btn {
  background-color: #0a0a0a;
  color: #fff;
  font-weight: 400;
  line-height: 1.6;
  font-size: 13px;
}

#custom_epo_logic_wrapper .delete_btn {
  background-color: #ececec;
  color: #c30000;
  font-weight: 400;
  line-height: 1.6;
  font-size: 13px;
}

#custom_epo_logic_wrapper .custom_epo_logic_items_wrapper {
  width: 100%;
  float: left;
}

#custom_epo_logic_wrapper .custom_epo_logic_items_inner_wrapper {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper,
#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_mirror,
#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_frame_mirror,
#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_color_mirror,
#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_glass,
#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
  flex-basis: calc(45% - 10px); /* Adjust the width of each item as needed */
  box-sizing: border-box;
  float: left;
  margin: 5px;
  box-sizing: border-box;
  text-align: center;
  position: relative;
}

#custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
  text-align: left;
  /* width: 48%; */
  margin: 0;
  flex-basis: calc(50% - 10px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#custom_epo_logic_wrapper .custom_epo_logic_lasin_vari_item_wrapper p {
  padding: 0;
  margin: 0;
  line-height: 1.5;
}

#custom_epo_logic_wrapper img {
  margin-bottom: 10px;
  cursor: pointer;
  border-radius: 5px;
}

#custom_epo_logic_wrapper img.selected {
  outline: 5px solid #0a0a00;
  border-radius: 5px;
}

#custom_epo_logic_wrapper h3 {
  margin: 10px 0;
}

#custom_epo_logic_wrapper p {
  font-size: 14px;
}

#custom_epo_logic_wrapper hr {
  border-width: 1px;
}

#custom_epo_logic_wrapper p.custom_epo_logic_item_p {
  font-size: 14px;
  font-weight: 600;
  margin: 10px 0;
}

.custom_epo_logic_items_wrapper_text {
  background: #f0f0f0;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #c7c7c7;
  margin-bottom: 20px;
  display: inline-block;
}

.custom_epo_logic_items_wrapper_text p {
  font-weight: 400;
  font-size: 14px;
  margin: 0;
  padding: 0;
}

.custom_epo_logic_items_wrapper_text li {
  font-size: 14px;
}

.woo_product_total_price_title {
  text-transform: uppercase;
  font-size: 80%;
  opacity: 0.7;
}

.woo_product_total_price {
  opacity: 0.7;
  font-size: 100%;
  font-weight: 400;
  margin-bottom: 20px;
}

.woo_product_total_price_hidden {
  font-size: 0px;
}

#custom_size_fields {
  display: none;
}

.wpfsbz_checkbox_price_container {
  margin-bottom: 20px;
}

#field_container,
#field_container_cord {
  display: flex;
  flex-direction: column;
}

/* Installation partner search */
#wp_service_finder_wrapper {
  display: block !important;
}

#wp_find_service_by_zip_wrapper .wpfsbz_no_results_partner_wrapper,
#wp_find_service_by_zip_wrapper .wpfsbz_no_results_wrapper {
  display: none;
}

#wp_find_service_by_zip_wrapper .wpfsbz_input_wrapper {
  display: flex;
  flex-direction: row;
}

#wp_find_service_by_zip_wrapper .wpfsbz_zip_code {
  border: 1px solid #dddddd;
  border-radius: 0px;
  padding: 10px;
  min-width: 200px;
  margin-right: 5px;
}

#wp_find_service_by_zip_wrapper .wpfsbz_search {
  background: #eb5827;
  border: 1px solid #e45525;
  color: #fff;
  min-width: 70px;
}

#wp_find_service_by_zip_wrapper .wpfsbz_spinner {
  border: 4px solid #fed1c25c;
  border-radius: 50%;
  border-top: 4px solid #c5471d; /* Change the color to your preference */
  width: 25px;
  height: 25px;
  animation: spin 1s linear infinite;
  margin: 0 auto;
  display: none;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.custom_epo_logic_items_flex_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 0 5px 18px;
}

.error-message {
  border-radius: 5px;
  display: block;
  font-size: 14px;
  position: absolute;
  border: 1px solid #f59898;
  background: #fff;
  padding: 10px;
  z-index: 2;
  margin-top: -14px;
}

.custom_epo_logic_mitat_wrapper {
  display: none;
}

.vetimen_tyyppi,
.jalan_tyyppi {
  display: none;
}

.wpfsbz_checkbox_wrapper {
  margin-top: 10px;
  display: none;
}

.measurement_checked,
.wpfsbz_checkbox_price_wrapper {
  display: none;
}

.wpfsbz_service_wrapper {
  display: flex;
  flex-direction: column;
}

.wpfsbz_results_wrapper .wpfsbz_single_result_wrapper {
  margin-bottom: 20px;
}

.wpfsbz_results_wrapper .wpfsbz_single_result_wrapper:last-of-type {
  margin-bottom: 0px;
}

/* Video player */
/* Modal container */
.kl-modal-video-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

/* Modal background */
.modal-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Modal content */
.modal-content {
  background-color: #fff;
  padding: 20px;
  text-align: center;
  position: relative;
  width: 90%;
}

/* Video player */
#modal-video {
  width: 100%;
}

/* Play and close buttons */
#close-button {
  position: absolute;
  top: 10px;
  right: 5px;
  padding: 0px 15px;
  cursor: pointer;
  background-color: #fff;
  color: #222;
  border: none;
  border-radius: 5px;
  outline: none;
}

#close-button:hover {
  background-color: #222;
  color: #fff;
}

ul.product_list_widget li .quantity {
  display: none !important;
}

img.checked_kiinnitystapa,
img.checked_peilin_vari,
img.checked_kehys,
img.checked_peilin_vari,
img.checked_varit,
img.checked_lasin_vari,
img.checked_oven_katisyys,
img.checked_helojen_varimaailma,
img.checked_vetimen_tyyppi,
img.checked_jalan_tyyppi {
  position: absolute;
  left: 5px;
  top: 5px;
  display: none;
}

ul.cart_selections,
ul.cart_selections li {
  margin: 0 !important;
  padding: 10px 0 !important;
  min-height: auto !important;
}

ul.cart_selections_sublist {
  margin: 0 !important;
  padding: 0 !important;
}

.price_field {
  display: none;
}

@media (max-width: 940px) {
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
    flex-basis: 100%;
  }
}

@media (max-width: 768px) {
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
    /* min-height: 50px;
    width: 100%; */
    flex-basis: 100%;
  }

  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_mirror,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_frame_mirror,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_color_mirror,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_glass,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
    flex-basis: 100%;
    min-height: 50px !important;
  }

  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_mirror.image,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_frame_mirror.image,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_color_mirror.image,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_glass.image,
  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper.image {
    flex-basis: 43%;
  }

  #custom_epo_logic_wrapper .custom_epo_logic_item_wrapper_left_align {
    width: calc(100% - 20px) !important;
    min-height: 50px !important;
  }
}

@media (min-width: 850px) {
  .off-canvas .off-canvas-cart {
    width: 400px !important;
  }
}

/* Info icon positioning */
.custom_epo_logic_item_wrapper_mirror {
    position: relative;
}

.info-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s ease;
}

.info-icon:hover {
    background: rgba(0, 0, 0, 0.9);
}

/* Tooltip styles - positioned at bottom with better width and positioning */
.info-icon.active::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: #333;
    color: white;
    padding: 10px 15px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal;
    width: 250px;
    max-width: 90vw;
    z-index: 1000;
    opacity: 1;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    text-align: left;
}

/* Adjust positioning for tooltips on the right side */
.custom_epo_logic_items_inner_wrapper .custom_epo_logic_item_wrapper_mirror:nth-child(even) .info-icon.active::after {
    left: auto;
    right: 0;
    transform: translateY(10px);
}

.custom_epo_logic_items_inner_wrapper .custom_epo_logic_item_wrapper_mirror:nth-child(even) .info-icon.active::before {
    left: auto;
    right: 15px;
    transform: translateY(10px);
}

/* Arrow pointing up */
.info-icon.active::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    border: 6px solid transparent;
    border-bottom-color: #333;
    z-index: 1000;
}
