/* METECH layout repairs 1.0.0. Scoped to the current Elementor templates.
   No global overflow hiding: fields, links and content remain visible. */

/* Premium Addons supplies fixed-width Contact Form 7 controls. */
.elementor .premium-cf7-container .wpcf7,
.elementor .premium-cf7-container .wpcf7 form,
.elementor .premium-cf7-container .wpcf7 form > p,
.elementor .premium-cf7-container .wpcf7 label,
.elementor .premium-cf7-container .wpcf7 .wpcf7-span,
.elementor .premium-cf7-container .wpcf7 .wpcf7-form-control-wrap {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}
.elementor .premium-cf7-container .wpcf7 label,
.elementor .premium-cf7-container .wpcf7 .wpcf7-span,
.elementor .premium-cf7-container .wpcf7 .wpcf7-form-control-wrap { display: block; }
.elementor .premium-cf7-container .wpcf7 input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.elementor .premium-cf7-container .wpcf7 textarea,
.elementor .premium-cf7-container .wpcf7 select {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}
.elementor .premium-cf7-container .wpcf7 textarea { resize: vertical; }

/* The same footer is copied into several pages and Theme Builder templates. */
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) {
  display: grid !important;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.1fr) minmax(0, 1.2fr);
  gap: 24px;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) > .e-child {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
}
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) :is(.elementor-widget-premium-contact-form,.elementor-widget-icon-list,.elementor-widget-heading) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.page-id-2072 .elementor-element-6144569 .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 12px; }
.page-id-2072 .elementor-element-6144569 .elementor-icon-list-item { margin: 0 !important; }
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) .elementor-icon-list-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) .elementor-icon-list-item > a {
  min-width: 0;
  max-width: 100%;
}
.elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) .elementor-heading-title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.25;
}

/* Full-width breadcrumbs, instead of the fixed 160px / 560px widgets. */
.elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) {
  top: auto !important;
  bottom: 16px !important;
  left: auto !important;
  right: 16px !important;
  width: 140px !important;
  max-width: calc(100vw - 32px) !important;
  padding: 0 !important;
  z-index: 30;
}
.elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-widget-icon-list {
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-icon-list-text {
  font-size: 15px !important;
  overflow-wrap: anywhere;
}

.elementor .elementor-widget-breadcrumbs {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 20px !important;
  box-sizing: border-box;
}
.elementor .elementor-widget-breadcrumbs p,
.elementor .elementor-widget-breadcrumbs .yoast-breadcrumbs {
  margin-bottom: 0;
  font-size: 18px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}

/* Product titles and section labels are currently 40–65px. */
.single-product .elementor-widget-wpr-product-title :is(h1,h2,h3) {
  font-size: clamp(28px, 2.5vw, 36px) !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}
.single-product .elementor-element-42e3271 .elementor-heading-title,
.single-product .elementor-element-825ffbd .elementor-icon-box-title,
.single-product .elementor-element-c6e1c47 .elementor-icon-box-title {
  font-size: 26px !important;
  line-height: 1.3 !important;
}
.single-product .elementor-element-7a626ece .elementor-heading-title {
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.3 !important;
}
.elementor-431 .elementor-element-6e9f40c5 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 24px;
}
body:has(.e-parent[data-settings*='"position":"fixed"'] .elementor-icon-list-items) #ast-scroll-top { bottom: 160px; }
.elementor-431 .elementor-element-6e9f40c5 > .e-con-inner > .e-child {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
.elementor-431 .elementor-element-4016598,
.elementor-431 .elementor-element-4016598 p {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.elementor .elementor-widget-breadcrumbs #breadcrumbs :is(span,a) { font-size: inherit !important; line-height: inherit !important; }
.elementor .elementor-widget.elementor-widget-breadcrumbs #breadcrumbs { font-size: 18px !important; line-height: 1.5 !important; margin: 0 !important; }
/* Replace stale Isotope coordinates on resize with the existing grid/list layout. */
.elementor :is(.elementor-element-95da63f,.elementor-element-d2d6fbc) .wpr-grid {
  display: grid !important;
  height: auto !important;
  gap: 30px 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.elementor .elementor-element-d2d6fbc .wpr-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.elementor :is(.elementor-element-95da63f,.elementor-element-d2d6fbc) .wpr-grid::before,
.elementor :is(.elementor-element-95da63f,.elementor-element-d2d6fbc) .wpr-grid::after { content: none; }
.elementor :is(.elementor-element-95da63f,.elementor-element-d2d6fbc) .wpr-grid > .wpr-grid-item {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  min-width: 0;
}
.elementor .elementor-element-d2d6fbc .wpr-grid-item-inner { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 16px; }
.elementor .elementor-element-d2d6fbc .wpr-grid-item-inner > div {
  width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-width: 0;
  box-sizing: border-box;
}
.elementor .elementor-element-d2d6fbc .wpr-grid-item-title { overflow-wrap: anywhere; }
.elementor .elementor-element-d2d6fbc .wpr-grid-item-title,
.elementor .elementor-element-d2d6fbc .wpr-grid-item-title a { font-size: 21px !important; line-height: 1.35 !important; }
.page-id-2072 .elementor-element-6144569 { width: 100% !important; max-width: 100%; margin: 0 !important; }
.page-id-2072 .elementor-element-6144569 .elementor-social-icons-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 230px;
  width: 100%;
}
.page-id-2072 .elementor-element-6144569 .elementor-social-icon { width: 44px !important; height: 44px !important; font-size: 22px !important; }

/* Preserve the contact map, with less space above contact information. */
.page-id-2072 .elementor-element-f552e60 iframe { height: 280px !important; }
.page-id-2072 .elementor-element-16a8bca {
  width: 100% !important;
  max-width: 100% !important;
}
.page-id-2072 .elementor-element-16a8bca table,
.single-product .wpr-product-description table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
  height: auto !important;
}
.page-id-2072 .elementor-element-16a8bca :is(td,th),
.single-product .wpr-product-description :is(td,th) {
  overflow-wrap: anywhere;
  height: auto !important;
}

@media (max-width: 1024px) {
  .elementor .elementor-element-95da63f .wpr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Laptop/tablet footer: three narrow columns cannot hold the form. */
  .elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) > .e-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    min-width: 0;
  }
  .elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) > .e-child:has(.premium-cf7-container) {
    width: 100% !important;
    grid-column: 1 / -1;
  }
  /* Verified category-card descriptions have an 80px offset at every size. */
  .elementor-5 :is(.elementor-element-33a976a,.elementor-element-69cdf43),
  .elementor-218 :is(.elementor-element-94b05a4,.elementor-element-11da3c7,.elementor-element-8de2dad) {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px;
    box-sizing: border-box;
  }
}

@media (max-width: 767px) {
  .elementor .elementor-widget.elementor-widget-breadcrumbs #breadcrumbs { font-size: 15px !important; }
  body:has(.e-parent[data-settings*='"position":"fixed"'] .elementor-icon-list-items) #ast-scroll-top { bottom: 96px; }
  .elementor-431 .elementor-element-6e9f40c5 > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  .elementor .elementor-element-95da63f .wpr-grid { grid-template-columns: minmax(0, 1fr); }
  .elementor .elementor-element-d2d6fbc .wpr-grid-item-inner { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
  .elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) { grid-template-columns: minmax(0, 1fr) !important; }
  body:has(.e-parent[data-settings*='"position":"fixed"'] .elementor-icon-list-items) { padding-bottom: 90px; }
  .elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) {
    bottom: 8px !important;
    right: 12px !important;
    width: calc(100% - 24px) !important;
    max-width: none !important;
  }
  .elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-icon-list-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 44px;
  }
  .elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-icon-list-item::after { display: none; }
  .elementor .e-parent[data-settings*='"position":"fixed"']:has(.elementor-icon-list-items) .elementor-icon-list-item > a { min-height: 44px; }
  .elementor :is(.e-parent:has(.premium-cf7-container):has(.elementor-icon-list-items), .elementor-element-19cf9c2) > .e-child { width: 100% !important; }
  .elementor .elementor-widget-breadcrumbs p,
  .elementor .elementor-widget-breadcrumbs .yoast-breadcrumbs { font-size: 15px !important; }
  .elementor .elementor-menu-toggle { color: #e8e8e8 !important; }
  .elementor .elementor-menu-toggle svg { fill: currentColor !important; }
  .page-id-2072 .elementor-element-f552e60 iframe { height: 180px !important; }
  .page-id-2072 .elementor-element-16a8bca :is(td,th),
  .single-product .wpr-product-description :is(td,th) { padding: 10px 8px; }
  .page-id-2072 .elementor-element-16a8bca :is(td,th) span,
  .single-product .wpr-product-description :is(td,th) span { font-size: 16px !important; }
  .page-id-2072 .elementor-element-16a8bca th { width: 38%; }
  .single-product .wpr-product-description td:first-child { width: 36% !important; }
  .single-product .wpr-product-description td:last-child { width: 64% !important; }
  .single-product .wpr-product-description tr { height: auto !important; }
  .single-post .elementor-widget-wpr-post-content .wp-block-table {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .single-post .elementor-widget-wpr-post-content .wp-block-table table:has(tr > :is(td,th):nth-child(3)) {
    min-width: 640px;
  }
  .single-post .elementor-widget-wpr-post-content .wp-block-table :is(td,th) {
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* Keep all eleven category links, in a shorter two-column list. */
  .tax-product_cat .elementor-element-202abd6e { gap: 12px; }
  .tax-product_cat .elementor-element-46b8965b .elementor-heading-title { font-size: 24px !important; }
  .tax-product_cat .elementor-element-7221da3e { width: 100% !important; padding: 0 8px !important; }
  .tax-product_cat .elementor-element-7221da3e .elementor-icon-list-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
  }
  .tax-product_cat .elementor-element-7221da3e .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
  }
  .tax-product_cat .elementor-element-7221da3e .elementor-icon-list-text {
    font-size: 16px !important;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  .tax-product_cat .elementor-element-7221da3e .elementor-icon-list-item > a { min-height: 44px; }
  .tax-product_cat .elementor-element-7221da3e .elementor-icon-list-item::after { display: none; }

  .elementor-5 .elementor-element-2283dac .wpr-slider-title :is(h1,h2) { font-size: 30px !important; line-height: 1.2 !important; }
  .elementor-5 .elementor-element-2283dac .wpr-slider-sub-title h3 { font-size: 20px !important; line-height: 1.35 !important; }
  .elementor-5 .elementor-element-2283dac .wpr-slider-description,
  .elementor-5 .elementor-element-2283dac .wpr-slider-description p { font-size: 16px !important; line-height: 1.5 !important; }
  .elementor-5 .elementor-element-8edcdf3 .elementor-heading-title { font-size: 32px !important; line-height: 1.3 !important; }
}
