/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra Child Theme by OuterBox
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* TOC:
- Variables
- Utility
- Typography
- Slider
- Carousel
- Video
- Tabbed Content
- Accordion
- Tables
- Forms
- Header
- Mobile Menu
- Breadcrumbs
- Footer
- Search Results
- Privacy Policy
- Sitemap
- Error 404
- Cards
- Post Filter
- WooCommerce
-- Messages
-- Product Filters
-- Product Listing Grid
-- Single Product Gallery
-- Single Product Title
-- Single Product Add to Cart
-- Single Product Downloads 
-- Single Product Tabbed Content
-- Cross Sells
*/

:root {
  /* Spacing */
  --space-base: 16px;
  --space-xxs: calc(var(--space-base) * 0.25);
  --space-xs: calc(var(--space-base) * 0.5);
  --space-sm: calc(var(--space-base) * 0.75);
  --space-md: calc(var(--space-base) * 1.5);
  --space-lg: calc(var(--space-base) * 2);
  --space-xl: calc(var(--space-base) * 2.5);
  --space-xxl: calc(var(--space-base) * 4);
  --space-xxxl: calc(var(--space-base) * 5);
  --section-space: var(--space-xxxl);
  --section-side-space: var(--space-xxl);
  --gutter: var(--space-xxl);
  --gutter-sm: var(--space-lg);
  --content-max: 768px;
  --content-padded-max: 920px;
  --container-max: 1200px;

  /* Fonts */
  --text-base: 16px;
  --text-sm: calc(var(--text-base) * 0.875);
  --text-lg: calc(var(--text-base) * 1.125);
  --heading-xxs: calc(var(--text-base) * 0.875);
  --heading-xs: calc(var(--text-base) * 1);
  --heading-sm: calc(var(--text-base) * 1.25);
  --heading-md: calc(var(--text-base) * 1.5);
  --heading-lg: calc(var(--text-base) * 2);
  --heading-xl: calc(var(--text-base) * 2.5);
  --heading-xxl: calc(var(--text-base) * 3);
  --heading-xxxl: calc(var(--text-base) * 3.5);
  --font-weight-regular: 400;
  --font-weight-bold: 700;
  --line-height-body: 1.5;
  --line-height-heading: 1.25;
  --font-family-heading: "Roboto", sans-serif;
  --font-family-body: "Roboto", sans-serif;

  /* Border Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 24px;
  --border-radius-element: 0;
  --border-radius-button: var(--border-radius-sm);
  --border-radius-input: var(--border-radius-md);

  /* Colors */
  --color-navy: #133e60;
  --color-teal: #46bbc8;
  --color-light-blue: #ecf8f9;
  --color-dark-grey: #565757;
  --color-light-grey: #e7ecef;
  --color-brand-02: #ECA548;

  --color-text-dark-grey: #565757;
  --color-text-black: #565757;
  --color-text-white: #ffffff;
  --color-text-navy: #133e60;
  --color-text-teal: #46bbc8;
  --color-text-03: #000000;

  --color-ui-01: #f4f7f8;
  --color-ui-02: #afb5b9;
  --color-ui-03: #565757;
  --color-ui-white: #ffffff;
}

@media only screen and (max-width: 991px) {
  :root {
    --heading-xxs: calc(var(--text-base) * 0.875);
    --heading-xs: calc(var(--text-base) * 1);
    --heading-sm: calc(var(--text-base) * 1.125);
    --heading-md: calc(var(--text-base) * 1.25);
    --heading-lg: 24px;
    --heading-xl: 28px;
    --heading-xxl: 32px;
    --heading-xxxl: calc(var(--text-base) * 3);
    --section-space: var(--space-xl);
    --section-side-space: var(--space-base);
    --gutter: var(--space-lg);
    --gutter-sm: var(--space-md);
  }
}

/* Utility */
.border-radius-element {
  img,
  span,
  div,
  .elementor-slides .swiper-slide {
    border-radius: var(--border-radius-element);
  }
}

.padding-full {
  padding: var(--section-space) var(--section-side-space);
}

.padding-top {
  padding: var(--section-space) var(--section-side-space) 0
    var(--section-side-space);
}

.padding-bottom {
  padding: 0 var(--section-side-space) var(--section-space)
    var(--section-side-space);
}

.padding-none {
  padding: 0px var(--section-side-space);
}

.elementor-widget-image {
  a[data-elementor-open-lightbox="yes"] {
    width: 100%;
  }
}

/* Typography */

a.elementor-element {
  text-decoration: none !important;
}

.eyebrow-heading {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
    font-size: var(--heading-xs);
    font-family: var(--font-family-heading);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
  }
}

.headline-heading {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: var(--line-height-heading);
    font-size: var(--heading-xxxl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading1 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 125%;
    font-size: var(--heading-xxl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading2 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 125%;
    font-size: var(--heading-xl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading3 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 125%;
    font-size: var(--heading-lg);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading4 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 125%;
    font-size: var(--heading-md);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading5 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: var(--line-height-heading);
    font-size: var(--heading-sm);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading6 {
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: var(--line-height-body);
    font-size: var(--heading-xs);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
}

.heading-gradient {
  background-image: linear-gradient(
    180deg,
    var(--color-light-blue) 0%,
    var(--color-teal) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--color-light-blue);
}

p {
  margin-bottom: 0 !important;
  font-family: var(--font-family-body);
}

.p--small {
  font-size: var(--text-sm);
}

.p--large {
  font-size: var(--text-lg);
}

p + p {
  margin-top: var(--space-base) !important;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-family-body);
}

.contact-us-button,
.elementor-button {
  font-family: var(--font-family-body);
  padding: 12px 24px;
}
.woocommerce #respond input#submit,
.contact-us-button {
  background-color: var(--color-navy);
  color: var(--color-text-white) !important;
  transition: all 0.25s linear;
  &:hover {
    color: var(--color-text-navy) !important;
    border-radius: 6px;
    border: 2px solid var(--color-teal) !important;
    background: var(--color-ui-white) !important;
    box-shadow: 0 0 15px 0 rgba(70, 187, 200, 0.75);
  }
}
.woocommerce-js table.shop_table td.woocommerce-orders-table__cell-order-actions .woocommerce-button{
  &.pay,&.view{
    color: var(--color-text-navy) !important;
    border-radius: 6px;
    border: 2px solid var(--color-teal) !important;
    background: var(--color-ui-white) !important;
    &:hover {
      box-shadow: 0 0 15px 0 rgba(70, 187, 200, 0.75);
    }
  }
}
.elementor-widget-text-editor:not(.footer__list) .woocommerce-MyAccount-content .button{
    &:hover {
      color: var(--color-text-navy) !important;
      border-radius: 6px;
      border: 2px solid var(--color-teal) !important;
      background: var(--color-ui-white) !important;
      box-shadow: 0 0 15px 0 rgba(70, 187, 200, 0.75);
    }
}
.icon-button,
.icon-button {
  svg > path,
  i {
    transition:
      color 0.25s ease-in-out,
      fill 0.25s ease-in-out;
  }
  &:hover i,
  &:active i,
  &:hover svg > path,
  &:active svg > path {
    color: var(--color-teal) !important;
    fill: var(--color-teal) !important;
  }
}

.elementor-widget-text-editor:not(.footer__list) {
  a{
    color: #07ACBE !important;
  }
  ul {
    padding: 0;
    margin: 0;
    li {
      padding: 0 0 12px 20px;
      margin: 0;
      list-style-type: none;
      position: relative;
      &:last-child {
        padding-bottom: 0;
      }
      &:before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 100%;
        display: block;
        position: absolute;
        left: 0;
        top: 8px;
        background-color: var(--color-teal);
      }
    }
  }
}

/* Slider */
.elementor-swiper {
  margin-bottom: 16px;
}
.elementor-element
  .swiper
  .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -18px;
}
.elementor-element.elementor-arrows-position-outside .swiper {
  width: calc(100% - 80px);
}
.elementor-slides .swiper-slide {
  position: relative;
  overflow: hidden;
}

/* Carousel */
.swiper-pagination-bullet {
  opacity: 1;
  position: relative;
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path fill="%23ffffff" d="M6,12c-3.31,0-6-2.69-6-6S2.69,0,6,0s6,2.69,6,6-2.69,6-6,6ZM6,1C3.24,1,1,3.24,1,6s2.24,5,5,5,5-2.24,5-5S8.76,1,6,1Z"/></svg>');
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
}
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet-active {
  mask: none;
}
.elementor-swiper-button .fa-arrow-left,
.elementor-swiper-button .fa-arrow-right,
.eicon-chevron-left,
.eicon-chevron-right {
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.38,11.06L10.66,1.34l1.34-1.34,12,12-12,12-1.34-1.34,9.72-9.72H0v-1.89h20.38Z" style="fill-rule:evenodd;"/></svg>');
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  display: block;
}
.elementor-swiper-button .fa-arrow-left:before,
.elementor-swiper-button .fa-arrow-right:before,
.eicon-chevron-left:before,
.eicon-chevron-right:before {
  background-color: currentColor;
}
.elementor-swiper-button .fa-arrow-left,
.eicon-chevron-left {
  transform: rotate(180deg);
}

/* Video */
.elementor-widget-video {
  border-radius: var(--border-radius-element);
  position: relative;
  overflow: hidden;
}
.elementor-custom-embed-image-overlay:after {
  content: "";
  background-color: var(--color-text-black);
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.elementor-custom-embed-play {
  z-index: 2;
}
.elementor-custom-embed-image-overlay:hover .eicon-play {
  opacity: 0.8 !important;
}
.eicon-play {
  background-color: currentColor;
  border-radius: 100%;
  opacity: 1 !important;
}
.eicon-play:before {
  opacity: 0;
}
.eicon-play:after {
  content: "";
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path fill="%230E6E92" d="M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45.27C1.89-.53,0,.55,0,2.22Z"/></svg>')
    center center no-repeat transparent;
  background-size: 16px;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 2px;
  top: 1px;
}

/* Tabbed Content */
.tabs-left .e-n-tabs-heading button {
  position: relative;
}
.tabs-left .e-n-tabs-heading button:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background-color: var(--color-ui-01);
}
@media only screen and (max-width: 767px) {
  .tabs-top .e-n-tabs-heading button {
    position: relative;
  }
  .tabs-top .e-n-tabs-heading button:after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background-color: var(--color-ui-01);
  }
}

/* Accordion */
.e-n-accordion-item-title[aria-expanded="true"] {
  border-bottom-color: var(--color-ui-01) !important;
}
.e-n-accordion-item-title + div {
  border-color: var(--color-ui-02);
  border-top: 0;
}

/* Tables */
.shogun-table-wrapper,
.html-table {
  table {
    border: 1px solid var(--color-ui-02);
    border-bottom: 0 !important;
  }
  thead {
    background-color: var(--color-navy);
    color: var(--color-text-white);
  }
  th {
    border-color: var(--color-text-white);
    color: var(--color-text-white);
    line-height: 1.5;
    font-size: var(--text-base);
    font-family: var(--font-family-body);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    padding: var(--space-sm) var(--space-base);
  }
  tbody tr:nth-child(odd) {
    background-color: var(--color-ui-white);
  }
  tbody tr:nth-child(even) {
    background-color: var(--color-ui-01);
  }
  td {
    border: 0;
    border-bottom: 1px solid var(--color-ui-02);
    text-align: center;
    font-size: var(--text-base);
    padding: var(--space-sm) var(--space-base);
  }
}
.shogun-table-wrapper::-webkit-scrollbar-track,
.html-table::-webkit-scrollbar-track {
  height: 8px;
  border-radius: 12px;
}
.shogun-table-wrapper::-webkit-scrollbar,
.html-table::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  border-radius: 12px;
}
.shogun-table-wrapper::-webkit-scrollbar-thumb,
.html-table::-webkit-scrollbar-thumb {
  background: var(--color-navy);
  width: 40px;
  border-radius: 12px;
}

.pricingReq {
  &.active {
    display: flex !important;
  }
}

@media only screen and (max-width: 1024px) {
  .shogun-table-wrapper,
  .html-table {
    overflow-x: scroll;
    table {
      width: 1024px;
    }
    &:before {
      display: flex;
      content: "Swipe to Scroll";
      font-family: var(--font-family-body);
      font-size: var(--text-sm);
      font-style: italic;
      font-weight: var(--font-weight-bold);
      color: var(--color-navy);
      padding: 16px 0;
    }
  }
  .shogun-table-wrapper::-webkit-scrollbar,
  .html-table::-webkit-scrollbar {
    -webkit-appearance: none;
  }
}

/* Forms */
form {
  .gfield_label {
    color: var(--color-text-black) !important;
    line-height: 1.5;
    font-size: var(--text-base) !important;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold) !important;
    float: left;
  }
  .gfield_required {
    text-transform: lowercase;
    font-size: var(--text-sm) !important;
    color: var(--color-teal);
    font-weight: bold;
  }
  .ginput_container input[type="text"],
  .ginput_container input[type="tel"],
  .ginput_container input[type="email"] {
    border: 1px solid var(--color-ui-02) !important;
    padding: var(--space-sm) var(--space-base) !important;
    height: 48px !important;
    line-height: 48px !important;
    border-radius: 4px;
  }
  .ginput_container select {
    border: 1px solid var(--color-ui-02) !important;
    height: 48px !important;
    line-height: 48px !important;
    border-radius: 4px;
  }
  .ginput_container textarea {
    border: 1px solid var(--color-ui-02) !important;
    padding: var(--space-sm) var(--space-base) !important;
    height: 96px !important;
    border-radius: 4px;
  }
  .ginput_container input::placeholder,
  .ginput_container textarea::placeholder {
    color: var(--color-text-dark-grey);
    font-family: var(--font-family-body);
  }
  label + .gfield_description,
  legend + .gfield_description {
    text-transform: lowercase;
    color: var(--color-text-black);
    font-size: var(--text-sm) !important;
    left: 8px;
    top: 1px;
    position: relative;
  }
  .gform_fields {
    row-gap: var(--space-md) !important;
  }
  .gform_button {
    border-radius: var(--border-radius-button);
    padding: 11px 24px !important;
    font-family: var(--font-family-heading) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    line-height: 1.35 !important;
    color: white !important;
    border: 2px solid var(--color-navy) !important;
    background-color: var(--color-navy) !important;
    font-size: var(--text-base) !important;
  }
  .gform_button:hover {
    border: 2px solid var(--color-teal) !important;
    background-color: white !important;
    color: var(--color-text-navy) !important;
    box-shadow: 0px 0px 15px 0px rgba(70, 187, 200, 0.7) !important;
  }
  .gsection {
    border-bottom-color: var(--color-ui-02);
    margin-top: 16px;
    &:first-child {
      margin-top: 0;
    }
  }
  .gsection_title {
    margin-bottom: 0;
    line-height: 125%;
    font-size: var(--heading-md);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
  }
  .eyebrow-heading h4 {
    margin-bottom: -8px;
    margin-top: 8px;
  }
  .gform-column-heading {
    background-color: var(--color-navy);
    color: white;
    padding: var(--space-base);
    gap: var(--space-xs);
    h4,
    h5 {
      color: white;
      margin: 0;
    }
  }
  .gform-column {
    grid-column: span 6;
    row-gap: var(--space-md) !important;
    display: flex;
    flex-direction: column;
    .gfield:last-child {
      display: none;
    }
  }
  .gform_fileupload_multifile {
    .gform_drop_area {
      background-color: transparent;
      display: flex;
      align-items: center;
      justify-content: space-evenly;
      border: 1px dashed var(--color-ui-white);
      &:before {
        color: var(--color-teal) !important;
      }
      .gform_drop_instructions {
        font-size: var(--text-base);
        color: var(--color-text-white);
        margin-block-end: 0;
      }
      .gform_button_select_files {
        background: var(--color-navy) !important;
        border: 2px solid var(--color-teal) !important;
        color: var(--color-text-white) !important;
        font-weight: var(--font-weight-bold) !important;
        text-transform: uppercase !important;
        &:hover {
          border: 2px solid var(--color-ui-white) !important;
        }
      }
    }
  }
}
form:not(#gform_2) {
  .gform_fileupload_multifile {
    .gform_drop_area {
      .gform_drop_instructions {
        color: var(--color-text-03);
      }
    }
  }
}

@media (min-width: 991px) and (max-width: 1075px) {
  form .gform-column-heading {
    min-height: 120px;
  }
}
@media (max-width: 800px) {
  form .gform-column {
    grid-column: 1 / -1;
  }
}

.gform_validation_errors {
  background-color: white !important;
}

.form-wide form .gfield--width-half {
  grid-column: 1 / -1;
}

.form-light form {
  .gform_button {
    color: var(--color-navy) !important;
    border: 2px solid var(--color-teal) !important;
    background-color: var(--color-teal) !important;
  }
  .gform_button:hover {
    border: 2px solid var(--color-teal) !important;
    background-color: white !important;
    color: var(--color-text-navy) !important;
    box-shadow: 0px 0px 15px 0px rgba(70, 187, 200, 0.7) !important;
  }
  .gfield_label,
  .gfield_description {
    color: var(--color-text-white) !important;
  }
}

@media (max-width: 991px) {
  .gform-theme--foundation .gfield--width-third {
    grid-column: 1 / -1;
  }
}

/* Header */
.header__button {
  .elementor-button {
    text-underline-offset: 2px;
    &:hover,
    &:active {
      text-decoration: underline;
    }
  }
  .elementor-button-content-wrapper {
    align-items: center;
  }
  .elementor-button-wrapper {
    display: flex;
  }
}
.header__button--shop {
  .elementor-button {
    padding: 8px;
    text-transform: none;
    font-size: 16px;
    border-radius: 0;
    white-space: nowrap;
    font-weight: 700;
  }
  .elementor-button-content-wrapper {
    gap: 8px;
  }
  .elementor-button-icon {
    position: relative;
    top: 1px;
  }
}
.header__button--cart {
  flex-shrink: 0;
  .hfe-cart-menu-wrap-default {
    display: flex;
    align-items: center;
  }
  .hfe-cart-menu-wrap-default:before {
    content: "(";
    display: inline-block;
    font-size: 16px;
    color: white;
    font-weight: 400;
  }
  .hfe-cart-menu-wrap-default:after {
    content: ")";
    display: inline-block;
    font-size: 16px;
    color: white;
    font-weight: 400;
  }
  .hfe-cart-menu-wrap-default .hfe-cart-count {
    border: 0;
    font-family: var(--font-family-body);
    font-size: 16px;
    color: white;
    font-weight: 400;
    min-width: 0;
    padding: 0;
    line-height: 1;
    min-height: 0;
  }
  .hfe-cart-menu-wrap-default .hfe-cart-count:after {
    display: none;
  }
}
@media (max-width: 1199px) {
  .header__button--cart {
    position: relative;
    top: 1px;
    svg {
      width: 27px;
    }
  }
}
.header__button--phone {
  white-space: nowrap;
}
.header__search {
  .e-search-form {
    height: 32px;
  }
  .e-search-input {
    width: 353px;
    color: white !important;
  }
}
/* #header__nav nav > ul > li .elementor-nav-menu--dropdown,
#header__nav nav > ul > li .sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
} */
.header__nav {
  a .sub-arrow {
    padding-left: 8px;
    font-size: 16px;
    i {
      font-weight: 400;
      color: var(--color-teal);
    }
  }
  nav > ul {
    width: 100%;
    justify-content: space-between !important;
    position: relative !important;
    &:after {
      display: none;
    }
  }
  nav > ul > li {
    position: relative !important;
    > a {
      position: relative;
      z-index: 2;
      &:before {
        content: "";
        height: 4px;
        width: 100%;
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: var(--color-teal);
      }
    }
    &:hover > a:before,
    &:active > a:before {
      opacity: 1;
    }
  }
  nav > ul > li > ul {
    /*min-height: 350px;*/
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.1);
    padding-top: calc(var(--space-lg) - 8px) !important;
    padding-bottom: calc(var(--space-lg) - 8px) !important;
  }
  nav > ul > li:first-child > ul {
    min-height: 350px;
  }
  nav > ul > li > ul > li {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
    width: 360px;
    position: static !important;
  }
  nav > ul > li > ul > li a {
    white-space: normal !important;
  }
  nav > ul > li > ul > li > a {
    position: relative;
    border-left: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px;
    .sub-arrow {
      i {
        display: none;
      }
      &:after {
        content: "";
        background: url('data:image/svg+xml,<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1875 6.625L8.6875 11.125L8 11.8438L6.5625 10.4062L7.28125 9.71875L10.0625 6.90625H1H0L0 4.90625H1H10.0625L7.28125 2.125L6.5625 1.40625L8 0L8.6875 0.71875L13.1875 5.21875L13.9062 5.90625L13.1875 6.625Z" fill="%2346BBC8"/></svg>');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        width: 12px;
        height: 24px;
        display: block;
      }
    }
  }
  nav > ul > li > ul > li > ul {
    position: absolute !important;
    width: 280px !important;
    /* min-height: 350px; */
    top: 0 !important;
    left: calc(var(--space-lg) + var(--space-lg)) !important;
    background-color: white !important;
    border: 1px solid var(--color-light-grey) !important;
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.1);
    padding-top: calc(var(--space-lg) - 8px) !important;
    margin-top: 0 !important;
    &:before {
      content: "";
      background-color: white;
      display: block;
      left: -8px;
      top: 0;
      position: absolute;
      width: 7px;
      height: 100%;
    }
  }
  nav > ul > li:first-child > ul > li > ul {
    min-height: 350px;
  }
  nav > ul > li > ul > li > ul > li {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
  }
  nav > ul > li > ul > li > ul > li > a {
    border-left: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-weight: 400 !important;
  }
}
#header__nav nav > ul > li > ul > li > ul {
  top: 0 !important;
}

.header__mobile {
  .header__button--phone {
    display: flex;
    align: center;
    justify-content: center;
    .elementor-widget-container {
      width: 100%;
    }
    a {
      width: 100%;
      text-decoration: none !important;
    }
  }
  .header__button--shop {
    display: flex;
    align: center;
    justify-content: center;
    .elementor-widget-container {
      width: 100%;
    }
    a {
      width: 100%;
      padding: 12px 8px !important;
      text-decoration: none !important;
    }
  }
  .header__utility {
    .elementor-icon-wrapper {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .off-canvas-toggle a {
      font-size: 34px !important;
      &:before {
        content: "";
        width: 100%;
        height: 100%;
        display: none;
        position: absolute;
        background: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.12498 0.71875L6.93748 5.5L11.7187 0.71875L12.4375 0L13.8437 1.40625L13.125 2.125L8.34373 6.90625L13.125 11.7188L13.8437 12.4062L12.4375 13.8438L11.7187 13.125L6.93748 8.34375L2.12498 13.125L1.43748 13.8438L-1.90735e-05 12.4062L0.718731 11.7188L5.49998 6.90625L0.718731 2.125L-1.90735e-05 1.40625L1.43748 0L2.12498 0.71875Z" fill="%2346BBC8"/></svg>');
        background-size: 16px;
        background-repeat: no-repeat;
        background-position: center;
      }
    }
  }
}
.e-off-canvas__no-scroll .header__utility .off-canvas-toggle a {
  &:before {
    display: block;
  }
  svg {
    opacity: 0;
  }
}

/* Mobile Menu */
.off-canvas-toggle a[aria-expanded="true"] i:before {
  content: "";
  display: block;
  width: 18px;
  height: 20px;
  background: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.26562 0.507812C1.79688 0 0.976562 0 0.507812 0.507812C0 0.976562 0 1.79688 0.507812 2.26562L7.10938 8.86719L0.507812 15.5078C0 15.9766 0 16.7969 0.507812 17.2656C0.976562 17.7734 1.79688 17.7734 2.26562 17.2656L8.86719 10.6641L15.5078 17.2656C15.9766 17.7734 16.7969 17.7734 17.2656 17.2656C17.7734 16.7969 17.7734 15.9766 17.2656 15.5078L10.6641 8.86719L17.2656 2.26562C17.7734 1.79688 17.7734 0.976562 17.2656 0.507812C16.7969 0 15.9766 0 15.5078 0.507812L8.86719 7.10938L2.26562 0.507812Z" fill="%230B0000"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.elementor-widget-off-canvas {
  .e-off-canvas__overlay {
    background-color: transparent !important;
  }
  .e-off-canvas__content {
    width: 100%;
  }
  .e-off-canvas__main {
    height: calc(100% - 114px);
    top: 114px;
    overflow-y: auto;
  }
  .e-search-input {
    width: 100% !important;
  }
}
.e-off-canvas .elementor-nav-menu--main {
  .menu-item-home-text {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-text-navy);
    padding: 0 0 10px 0;
    display: block;
    border-bottom: 1px solid var(--color-light-grey);
    width: 100%;
    max-width: 100% !important;
  }
  ul {
    position: relative;
    height: 100%;
  }
  ul li {
    position: relative;
  }
  ul li > .submenu-toggle {
    cursor: pointer;
    position: absolute;
    width: 40px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
  }
  ul li a {
    margin: 0;
    border: 0;
    font-weight: 700 !important;
    color: var(--color-text-navy) !important;
  }
  ul li a:after {
    content: "";
    opacity: 1 !important;
    height: 1px;
    width: 100%;
    background-color: var(--color-light-grey);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  ul li a > span {
    display: none !important;
  }
  ul ul {
    position: absolute;
    left: 100vw !important;
    transition: left 0.2s ease-in-out;
    z-index: 3;
    background-color: white;
    width: 100% !important;
    top: 0 !important;
    transition: none;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  ul li.submenu-active {
    position: static;
  }
  ul li.submenu-active > ul {
    left: 0 !important;
    transition: left 0.2s ease-in-out;
    z-index: 9;
    display: block !important;
    background-color: white !important;
    min-height: calc(100vh - 150px);
  }
  ul li.submenu-active ~ li {
    display: none !important;
  }
  ul ul li a {
    font-weight: 400 !important;
  }
  button.submenu-toggle {
    position: relative;
    width: 40px;
    height: 40px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5;
    color: var(--color-teal);
    font-weight: var(--font-weight-bold);
    background-color: transparent;
    padding: 0;
  }
  button.submenu-toggle:before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background-color: var(--color-teal);
    mask-image: url('data:image/svg+xml,<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1875 6.625L8.6875 11.125L8 11.8438L6.5625 10.4062L7.28125 9.71875L10.0625 6.90625H1H0L0 4.90625H1H10.0625L7.28125 2.125L6.5625 1.40625L8 0L8.6875 0.71875L13.1875 5.21875L13.9062 5.90625L13.1875 6.625Z" fill="%2346BBC8"/></svg>');
    mask-repeat: no-repeat;
    mask-position: right center;
    mask-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .submenu-headline {
    display: block;
    a {
      font-size: 24px;
      font-weight: 700 !important;
      color: var(--color-text-navy) !important;
      padding-bottom: 12px;
    }
  }
  button.submenu-back-button {
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--color-text-navy);
    background-color: transparent;
    border: 0;
    text-transform: none;
    font-weight: 400;
    font-size: var(--text-base);
    font-family: var(--font-family-body);
    padding-left: 0;
    padding-top: 0;
  }
  .submenu-back-button:before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    background-color: var(--color-teal);
    mask-image: url('data:image/svg+xml,<svg width="11" height="9" viewBox="0 0 11 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.539062 4.96875L0 4.42969L0.539062 3.91406L3.91406 0.539062L4.45312 0L5.50781 1.05469L4.96875 1.59375L2.88281 3.67969H9.70312H10.4531V5.17969H9.70312H2.88281L4.96875 7.28906L5.50781 7.80469L4.45312 8.88281L3.91406 8.34375L0.539062 4.96875Z" fill="%2346BBC8"/></svg>');
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size: contain;
    margin-right: 8px;
  }
}

#mobile-nav .search-container {
  padding: var(--space-md) 0;
  .search-form input {
    width: 100%;
  }
}
.mobile-nav__utility {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-md);
  i {
    width: 20px;
    color: var(--color-teal);
  }
  a {
    text-decoration: none;
    color: var(--color-text-navy);
  }
}
.mobile-nav__tel {
  border-bottom: 1px solid var(--color-light-grey);
  .elementor-button {
    padding-left: 16px !important;
  }
}

@media (min-width: 783px) {
  body.admin-bar .elementor-widget-off-canvas .e-off-canvas__main {
    top: 146px;
  }
}

@media (max-width: 782px) {
  body.admin-bar .elementor-widget-off-canvas .e-off-canvas__main {
    top: 160px;
  }
}

/* Breadcrumbs */
.elementor-widget-breadcrumbs {
  .fa-home {
    &::before {
      content: "";
      width: 16px;
      height: 16px;
      display: block;
      background-color: var(--color-teal);
      mask-repeat: no-repeat;
      mask-position: right center;
      mask-size: contain;
      mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free v6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    }
  }
  #breadcrumbs {
    display: flex;
    align-items: center;
  }
  i {
    color: var(--color-teal);
  }
  span {
    color: var(--color-text-dark-grey);
    font-size: var(--text-base);
  }
}
.hfe-breadcrumbs-first {
  margin-right: 0 !important;
  position: relative;
  a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
}
.hfe-breadcrumbs-home-icon {
  position: relative;
  top: -1px;
  margin-right: 12px;
}
.hfe-breadcrumbs-separator {
  position: relative;
  top: 1px;
  width: 12px;
  svg {
    width: 12px;
    height: 12px;
  }
}
.hfe-breadcrumbs-item {
  .hfe-breadcrumbs-text {
    font-size: 16px !important;
    color: var(--color-text-dark-grey) !important;
  }
}
.hfe-breadcrumbs-item a {
  text-decoration: none !important;
  font-size: 16px;
  color: var(--color-text-dark-grey);
  &:hover,
  &:active {
    text-decoration: underline !important;
  }
}
.custom-breadcrumbs {
  .hfe-breadcrumbs-home-icon {
    margin-right: 6px;
  }
  .hfe-breadcrumbs-separator,
  .hfe-breadcrumbs-first ~ .hfe-breadcrumbs-item {
    margin-right: 8px !important;
  }
}
.breadcrumbs-back {
  .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .elementor-icon-box-icon {
    align-self: center;
    position: relative;
    top: 1px;
    i {
      font-weight: 400 !important;
    }
  }
  a {
    text-decoration: none !important;
  }
}

/* Footer */
.footer__top {
  .footer__social {
    .elementor-grid-item:last-child {
      position: relative;
      top: 1px;
    }
    a {
      background-color: transparent !important;
      width: auto !important;
    }
    a:hover svg path,
    a:active svg path {
      fill: var(--color-teal);
    }
  }
  .footer__column--1 {
    flex-shrink: 0;
  }
  .footer__list {
    p + p {
      margin-top: 12px !important;
    }
    a {
      text-underline-offset: 2px;
      &:hover,
      &:active {
        text-decoration: underline;
      }
    }
  }
}
.footer__bottom {
  .footer__submenu {
    a {
      text-underline-offset: 2px;
    }
    a:hover,
    a:active {
      text-decoration: underline;
    }
  }
  .back-top {
    .elementor-button-wrapper {
      display: flex;
    }
    .elementor-button {
      padding: 0 !important;
      white-space: nowrap;
    }
    .elementor-button-content-wrapper {
      align-items: center;
    }
    .elementor-button-text {
      text-underline-offset: 2px;
      font-size: 16px;
    }
    .elementor-button-icon svg {
      height: 16px;
      width: 16px;
    }
    &:hover,
    &:active {
      .elementor-button-text {
        text-decoration: underline;
      }
    }
  }
}

/* Search Results */
body.search {
  .site-content {
    padding-left: var(--section-side-space);
    padding-right: var(--section-side-space);
  }
  .ast-container {
    max-width: 1200px;
    padding: 0;
  }
  .ast-archive-description {
    padding-bottom: 18px;
    padding-left: var(--section-side-space);
    padding-right: var(--section-side-space);
    padding-top: 64px;
  }
  .ast-archive-description .ast-archive-title {
    font-weight: bold;
    color: var(--color-text-navy);
  }
  .no-results.not-found {
    padding-top: 0;
    padding-left: var(--section-side-space);
    padding-right: var(--section-side-space);
    p {
      margin-bottom: 32px !important;
    }
  }
  .ast-blog-featured-section {
    display: none !important;
  }
  .search-form {
    display: flex;
    align-items: center;
  }
  .search-field {
    padding: 6px 8px;
  }
  .search-submit {
    padding: 12px 12px;
    &:hover,
    &:active {
      background-color: var(--color-teal);
    }
  }
  .ast-article-inner {
    padding-left: var(--section-side-space);
    padding-right: var(--section-side-space);
  }
  .ast-article-post {
    margin-bottom: 0 !important;
  }
  .post-content {
    padding-right: 0 !important;
    padding-left: 0 !important;
    border-bottom: 1px solid var(--color-light-grey);
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .ast-read-more-container a {
    font-size: 16px;
    color: var(--color-navy);
    text-underline-offset: 2px;
    transition: none;
    &:hover,
    &:active {
      color: var(--color-teal);
      text-decoration: underline;
    }
  }
  .ast-blog-single-element a:hover,
  .ast-blog-single-element a:active {
    color: var(--color-teal);
  }
  .ast-blog-meta-container {
    display: none;
  }
  .ast-blog-single-element.entry-title {
    line-height: var(--line-height-body);
    font-size: var(--heading-lg);
    font-family: var(--font-family-body);
    margin-bottom: 8px;
    a {
      font-weight: bold !important;
      color: var(--color-navy);
      &:hover,
      &:active {
        color: var(--color-teal);
      }
    }
  }
  .post-content > .read-more {
    margin-top: 16px;
  }
}

/* Privacy Policy */
.privacy-policy #primary {
  margin: 0 !important;
}
.privacy-policy .ast-container {
  max-width: 100%;
  padding: 0;
}

/* Sitemap */
.elementor-widget-sitemap {
  a:hover,
  a:active {
    color: var(--color-teal);
  }
}

/* Error 404 */
.error404 .content-area .elementor-widget-nav-menu ul ul {
  display: none !important;
}

/* Cards */
.cards-style-a {
  .elementor-button {
    border: 2px solid var(--color-teal);
    border-radius: 6px;
    background-color: transparent;
    &:hover,
    &:active {
      color: white;
      border-color: white;
      background-color: transparent;
      box-shadow: 0px 0px 15px 0px rgba(70, 187, 200, 0.7);
    }
  }
}
.acf_faq{
  .e-n-accordion-item{
    .e-n-accordion-item-title {
      background-color: var(--e-global-color-accent);
      border-style: solid;
      border-width: 1px 1px 1px 1px;
      border-color: var(--e-global-color-bd523b8);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      list-style: none;
      color: var(--color-navy);
      padding: var(--space-sm);
      span{
        display: flex;
      }
      & + div {
        border-top: 0 !important;
        border: 1px solid var(--color-ui-02);
      }
    }
    .e-n-accordion-item-title-icon{
      display: flex;
      align-items: center;
      width: fit-content;
      .e-opened{
        display: none;
      }
      span > i{
        color: var(--color-teal);
      }
    }
    .e-n-accordion-item[open]{
      .e-n-accordion-item-title-icon{
        .e-opened{
          display: flex;
        }
        .e-closed{
          display: none;
        }
      }
    }
    .e-n-accordion-item-title-text{
      display: flex;
      font-weight: var(--font-weight-bold);
      font-size: 1rem;
      align-items: center;
    }
    &:hover{
      .e-n-accordion-item-title-icon span > i,
      .e-n-accordion-item-title {
        color: #1f2124;
      }
    }
    .elementor-widget-text-editor{
      padding: var(--space-base) var(--space-sm);
    }
  }
  .e-n-accordion-item:not(:last-child){
    margin-block-end: var(--space-base);
  }
}
.related_posts{
  .elementor-grid{
    display: flex;
    gap: var(--space-base);
    .e-loop-item{
      width: 386px;
      .card-style-c{
        padding: 0 20px;
        > div:first-child {
          color: var(--color-text-white) !important;
          transition: all 0.25s linear;
          background-size: 100%;
        }
        > div span > i{
          color: var(--color-teal);
        }
        &:hover{
          > div:first-child{
            background-size: 120% auto;
          }
        }
      }
    }
  }
}
@media (min-width: 768px) {
  .card-style-a:hover .card-style-a__hover,
  .card-style-a:active .card-style-a__hover {
    opacity: 1;
  }
  .card-style-a__hover {
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
  }
}
@media (max-width: 767px) {
  .card-style-a {
    border: 0 !important;
    box-shadow: none !important;
  }
  .card-style-a__default:before {
    background: var(--color-navy) !important;
    opacity: 0.8;
  }
}
.card-style-b {
  .elementor-icon-wrapper {
    display: flex;
  }
  .elementor-heading-title {
    transition: color 0.25s ease-in-out;
  }
}
.card-style-b:hover,
.card-style-b:active {
  .elementor-heading-title {
    color: white !important;
  }
}
.card-style-c {
  .elementor-icon-box-wrapper {
    padding-bottom: 10px;
    white-space: nowrap;
  }
  .elementor-post-info__terms-list-item {
    background-color: var(--color-navy);
    padding: 8px;
    position: relative;
    top: -8px;
    border: 1px solid var(--color-teal);
    z-index: 9;
  }
  .card-style-c__image-wrap{
    position: relative;
    overflow: hidden;
    .elementor-widget-image{
      width: 100%;
      height: 100%;
      img{
        width: 100%;
        height: 100%;
        object-fit: cover !important;
        transition: transform .25s ease-in-out;
      }
    }
  }
}
.card-style-c:hover,
.card-style-c:active {
  .elementor-heading-title {
    color: var(--color-teal) !important;
  }
  .elementor-widget-icon-box .elementor-widget-container {
    border-color: var(--color-teal) !important;
  }
  .card-style-c__image-wrap .elementor-widget-image img{
    transform: scale(1.1);
  }
}
@media (min-width: 768px) {
  .cards-style-d .elementor-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .cards-style-d .e-loop-item {
    flex: 0 0 calc(33.33% - 24px) !important;
    a {
      outline: 0 !important;
    }
  }
  .card-style-d__content {
    flex-grow: 1 !important;
  }
}
.cards-style-e .elementor-grid {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: var(--space-md);
  align-items: flex-start;
}
.cards-style-e .e-loop-item {
  width: auto !important;
  a {
    outline: 0 !important;
  }
}

@media (max-width: 1100px) {
  .projects {
    padding-left: var(--section-space) !important;
    padding-right: var(--section-space) !important;
    > div > div {
      align-items: start !important;
      > div {
        width: 100% !important;
        > div {
          width: 100% !important;
        }
      }
    }
  }
}

/* Post Filter */
.post-filter {
  position: relative;
  height: 48px;
  &:after {
    content: "";
    background: url('data:image/svg+xml,<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path opacity="0.7" d="M5.34375 10.25C5.13281 10.25 4.94531 10.1797 4.80469 10.0391L0.304688 5.53906C0 5.25781 0 4.76562 0.304688 4.48438C0.585938 4.17969 1.07812 4.17969 1.35938 4.48438L5.34375 8.44531L9.30469 4.48438C9.58594 4.17969 10.0781 4.17969 10.3594 4.48438C10.6641 4.76562 10.6641 5.25781 10.3594 5.53906L5.85938 10.0391C5.71875 10.1797 5.53125 10.25 5.34375 10.25Z" fill="%23001E51"/></svg>');
    width: 12px;
    height: 12px;
    position: absolute;
    right: 16px;
    top: 16px;
    background-size: 12px;
    background-position: right center;
    background-repeat: no-repeat;
    z-index: 10;
    display: block;
  }
  &:hover .elementor-widget-container {
    height: 500px;
  }
  .elementor-widget-container {
    position: absolute;
    width: 100%;
    height: 48px;
    overflow: hidden;
    border-bottom: 1px solid var(--color-ui-02);
    z-index: 3;
    border-radius: 4px;
  }
  .e-filter {
    width: 100%;
    position: absolute;
    display: flex !important;
    flex-direction: column;
    background-color: white;
    z-index: 9;
    cursor: pointer;
    border: 1px solid var(--color-ui-02);
    border-radius: 4px;
  }
  button {
    height: 48px;
    padding: 0 16px !important;
    width: 100%;
    order: 1;
    display: block;
    flex-basis: auto !important;
  }
  button[aria-pressed="true"] {
    order: -1;
  }
}
.e-loop__load-more {
  margin-top: var(--space-xl) !important;
  .elementor-button {
    text-decoration: none !important;
    &:hover,
    &:active {
      border-color: var(--color-teal) !important;
    }
  }
}
@media (max-width: 767px) {
  .post-filter {
    width: 100% !important;
  }
}

/* WooCommerce */

/* WooCommerce - Messages */
.woocommerce-message {
  border: 0;
  border-radius: 4px;
  background-color: var(--color-ui-01);
  outline: 0;
  font-weight: bold;
  a {
    text-decoration: underline;
  }
  a.button {
    background-color: var(--color-navy);
    color: white !important;
    font-size: 16px;
    text-transform: uppercase;
    border: 2px solid var(--color-navy) !important;
    text-decoration: none;
    &:hover,
    &:active {
      color: var(--color-navy) !important;
      background-color: white;
      border-color: var(--color-teal) !important;
      box-shadow: 0px 0px 15px 0px rgba(70, 186, 200, 0.75);
    }
  }
  &:before {
    color: var(--color-teal);
  }
}
.single-product .woocommerce-message {
  margin: 16px;
}

/* WooCommerce - Product Filters */
.wpc-filter-set-widget-title {
  display: none;
}
.wpc-filter-set-widget-title h2 {
  font-size: var(--heading-md);
  color: var(--color-navy);
  font-weight: var(--font-weight-bold);
  line-height: 125%;
}
.wpc-filter-title,
.wpc-wrap-icons {
  color: var(--color-navy);
  font-family: var(--font-family-body);
  font-size: var(--heading-xs);
  font-weight: var(--font-weight-bold);
  line-height: 150%;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.wpc-filter-title {
  margin-bottom: var(--space-base) !important;
  button {
    margin-bottom: 0 !important;
  }
  .wpc-wrap-icons {
    margin-bottom: 0;
  }
}
.wpc-open-icon {
  border-color: var(--color-navy) !important;
  border-width: 2px !important;
  top: 0 !important;
}
.wpc-term-item-content-wrapper {
  input {
    display: none;
  }
  label {
    position: relative;
    padding-left: 32px;
  }
  label:before {
    content: "";
    width: 24px;
    height: 24px;
    background-color: white;
    border: 1px solid var(--color-ui-02);
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  label:after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23ffffff" d="M530.8 134.1C545.1 144.5 548.3 164.5 537.9 178.8L281.9 530.8C276.4 538.4 267.9 543.1 258.5 543.9C249.1 544.7 240 541.2 233.4 534.6L105.4 406.6C92.9 394.1 92.9 373.8 105.4 361.3C117.9 348.8 138.2 348.8 150.7 361.3L252.2 462.8L486.2 141.1C496.6 126.8 516.6 123.6 530.9 134z"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
  }
  input:checked + label:before {
    border-color: var(--color-teal);
    background-color: var(--color-teal);
  }
  input:checked + label:after {
    opacity: 1;
  }
  label a {
    color: var(--color-text-dark-grey);
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: 150%;
    display: block;
  }
  label:hover a {
    color: var(--color-teal);
  }
}
.wpc-see-less-control {
  color: var(--color-text-dark-grey);
  &:hover,
  &:active {
    color: var(--color-teal);
  }
}
.widget .wpc-term-count-0:not(.wpc-has-not-empty-children) a,
.widget-area .widget .wpc-term-count-0:not(.wpc-has-not-empty-children) a,
.widget-area
  .wpc-filters-labels
  li.wpc-term-count-0:not(.wpc-has-not-empty-children)
  label,
.widget-area
  .wpc-filters-labels
  li.wpc-term-count-0:not(.wpc-has-not-empty-children)
  label
  span.wpc-filter-label-wrapper,
.wpc-filters-labels li.wpc-term-count-0:not(.wpc-has-not-empty-children) label,
.wpc-filters-labels
  li.wpc-term-count-0:not(.wpc-has-not-empty-children)
  label
  span.wpc-filter-label-wrapper,
.wpc-term-count-0:not(.wpc-has-not-empty-children),
.wpc-term-count-0:not(.wpc-has-not-empty-children) a,
body
  .wpc-filters-main-wrap
  li.wpc-term-count-0:not(.wpc-has-not-empty-children)
  label,
body
  .wpc-filters-main-wrap
  li.wpc-term-count-0:not(.wpc-has-not-empty-children)
  label
  a {
  opacity: 1 !important;
}
.wpc-term-count {
  position: relative;
  top: 2px;
  color: var(--color-text-dark-grey);
  opacity: 1 !important;
  .wpc-term-count-brackets-open,
  .wpc-term-count-brackets-close {
    display: inline-block;
    color: var(--color-text-dark-grey);
  }
}
.wpc-filters-section {
  border-bottom: 1px solid var(--color-light-grey);
  padding-bottom: 4px;
  margin-bottom: var(--space-md) !important;
}
.wpc-filter-selected-values {
  display: none;
}
.wpc-filters-range-wrapper:before {
  content: "$";
  font-size: 16px;
  margin-right: 8px;
  position: relative;
  top: 8px;
  color: var(--color-text-dark-grey);
}
.wpc-filters-range-wrapper input {
  height: 40px;
  background-color: transparent !important;
  border-color: var(--color-ui-02);
  color: var(--color-text-dark-grey);
  text-align: center;
}
.wpc-filters-range-min-column {
  margin-right: 60px !important;
}
.wpc-filters-range-min-column:after {
  content: "";
  width: 20px;
  height: 1px;
  background-color: var(--color-text-dark-grey);
  display: block;
  position: absolute;
  right: -40px;
  margin-top: -20px;
}
.wpc-filters-range-wrapper input[type="number"].wpc-filters-range-min,
.wpc-filters-range-wrapper input[type="number"].wpc-filters-range-max {
  padding: 0 !important;
}
.wpc-filters-range-inputs .ui-slider-horizontal .ui-slider-handle {
  background-color: var(--color-teal) !important;
  border: 0 !important;
}
.wpc-filters-range-inputs .ui-slider .ui-slider-handle {
  width: 12px !important;
  height: 12px !important;
}
.wpc-filters-range-inputs .ui-slider-horizontal .ui-slider-handle {
  top: -5px !important;
  margin-left: -6px !important;
}
.wpc-filters-range-slider-wrapper {
  margin: 16px 6px 16px !important;
}
.elementor-widget-filter-everything-filters {
  width: 100%;
}
.widget_wpc_sorting_widget {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  .widgettitle {
    font-size: 16px;
    font-weight: 700;
    margin: 0 8px 0 0;
    color: var(--color-text-dark-grey);
  }
}
.wpc-posts-found {
  position: absolute;
  left: 100%;
  margin-left: 24px;
  width: 200px;
  color: var(--color-text-dark-grey);
  font-weight: bold;
}
.woocommerce-js .select2-container .select2-selection--single,
.woocommerce-js select,
.woocommerce-page .select2-container .select2-selection--single,
.woocommerce-page select {
  border-color: var(--color-light-grey) !important;
  border-radius: 0;
  height: 40px;
  color: var(--color-text-dark-grey);
}
@media (max-width: 767px) {
  .wpc-filter-set-widget-title {
    display: block;
    margin-bottom: 36px;
  }
  .wpc-posts-found {
    left: 0;
    bottom: auto;
    top: 100%;
    margin-left: 0;
    text-align: center;
    width: 100%;
    margin-top: 10px;
  }
  .widget_wpc_sorting_widget {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
  }
  .product-filter__container {
    display: none;
  }
  .product-filter__container.active {
    display: block;
  }
  .product-filter__toggle a.active i {
    transform: rotate(45deg);
  }
}

/* WooCommerce - Product Listing Grid */
.loop-grid-count {
  display: none;
}
.elementor-widget-loop-grid {
  .woocommerce-Price-amount {
    color: var(--color-text-navy) !important;
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-weight: 400;
  }
  .page-numbers {
    text-decoration: none !important;
    color: var(--color-text-dark-grey);
  }
  .page-numbers.prev {
    font-size: 0;
    background: url('data:image/svg+xml,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.19345e-05 6L6.00002 12L6.66799 11.332L1.80764 6.47168H12V5.52734H1.80862L6.66799 0.667969L6.00002 0L2.19345e-05 6Z" fill="%23565757"/></svg>');
    width: 12px;
    height: 12px;
    display: inline-block;
  }
  .page-numbers.next {
    font-size: 0;
    background: url('data:image/svg+xml,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 6L6 12L5.33203 11.332L10.1924 6.47168H0V5.52734H10.1914L5.33203 0.667969L6 0L12 6Z" fill="%23565757"/></svg>');
    width: 12px;
    height: 12px;
    display: inline-block;
  }
  .page-numbers.current {
    font-weight: bold;
    position: relative;
    display: inline-block;
    &:after {
      content: "";
      width: 20px;
      display: block;
      height: 1px;
      border-bottom: 1px solid var(--color-teal);
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
    }
  }
}

/* WooCommerce - Single Product Gallery */
.woocommerce-product-gallery {
  .flex-viewport {
    background-color: white;
    box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.1);
    height: 374px !important;
  }
  .woocommerce-product-gallery__wrapper,
  .woocommerce-product-gallery__image,
  .woocommerce-product-gallery__image a {
    height: 100%;
  }
  .woocommerce-product-gallery__image a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.woocommerce-product-gallery__trigger {
  background: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 0H15H16V1V5V6H14V5V3.4375L10.6875 6.71875L10 7.4375L8.5625 6L9.28125 5.3125L12.5625 2H11H10V0H11ZM6.6875 10.7188L3.40625 14H5H6V16H5H1H0V15V11V10H2V11V12.5938L5.28125 9.3125L6 8.59375L7.40625 10L6.6875 10.7188Z" fill="%2346BBC8"/></svg>') !important;
  background-repeat: no-repeat !important;
  background-size: 16px !important;
  background-position: center !important;
  top: 10px !important;
  right: 8px !important;
  &:before,
  &:after {
    display: none !important;
  }
  &:hover,
  &:active {
    filter: grayscale(100);
  }
}
.flex-control-thumbs {
  li {
    height: 64px !important;
    width: 64px !important;
    overflow: hidden;
    border: 1px solid var(--color-light-grey);
    padding: 0 !important;
    position: relative;
    &.flex-active,
    &:hover,
    &:active {
      border-color: var(--color-teal);
      &:after {
        display: block;
      }
    }
    &:after {
      content: "";
      width: 100%;
      height: 100%;
      border: 1px solid var(--color-teal);
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none;
    }
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 1 !important;
    }
  }
}
@media (max-width: 767px) {
  .flex-control-thumbs {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

a.obx-visited {
  color: var(--color-teal);
  border-bottom: 2px solid var(--color-teal);
  transition:
    color 0.2s,
    border-color 0.2s;
}
.image_1,
.image_2 {
  cursor: pointer;
  transition: all 0.3s linear;
  border: 2px solid transparent;
  &:hover {
    border: 2px solid var(--color-teal);
  }
}
/* WooCommerce - Single Product Title */
.elementor-widget-woocommerce-product-title {
  .product_title {
    margin-bottom: 0 !important;
  }
}

/* Gallery Slider */

/* Slider wrapper */
.obx-thumb-slider {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
  overflow: hidden; /* clips the track */
}

/* Track constrains visible width */
.obx-thumb-track {
  overflow: hidden;
  flex: 1;
  min-width: 0;
  max-width: 280px;
}

/* The ol becomes a flex row that slides */
.obx-thumb-slider .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  transition: transform 0.3s ease;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  overflow: visible !important;
}

.obx-thumb-slider .flex-control-thumbs li {
  flex: 0 0 auto;
  margin: 0 !important;
}

/* Arrows */
.obx-thumb-arrow {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  padding: 4px 8px 5px 8px;
  flex-shrink: 0;
  transition: background 0.2s;
}
.obx-thumb-arrow:hover:not(:disabled) { background: var(--color-teal); }
.obx-thumb-arrow:disabled { opacity: 0.3; cursor: default; }

/* Responsive visible counts — handled in JS, but limit widths via CSS too */
@media (max-width: 767px) {
  .obx-thumb-slider .flex-control-thumbs li {
    width: calc((100% - 16px) / 3); /* 3 items + 2 gaps */
  }
}

/* WooCommerce - Single Product Add to Cart */
.woocommerce-account div[data-elementor-type="wp-page"]{
  padding-left: var(--space-base);
  padding-right: var(--space-base);
}
.single-product .cart {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.woocommerce-cart-form .quantity,
.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .elementor-product-simple .quantity {
  margin-bottom: 0 !important;
  border: 1px solid var(--color-ui-02);
  border-radius: 4px;
  height: 46px;
  background-color: white;
  display: flex;
  position: relative;
  width: 116px;
  &:before {
    content: "Quantity";
    font-weight: bold;
    color: var(--color-text-dark-grey);
    position: absolute;
    top: -32px;
  }
}
.woocommerce-cart-form .quantity {
  &:before {
    display: none;
    content: "";
  }

  /* Chrome, Safari, Edge, Opera */
  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  input[type="number"] {
    -moz-appearance: textfield;
  }
}
.single-product .elementor-product-simple .quantity {
  margin-top: 32px !important;
}
.single-product .woocommerce-variation-add-to-cart .quantity {
  margin-top: 48px !important;
}
.single-product .woocommerce-variation-add-to-cart .qty,
.single-product .elementor-product-simple .qty {
  width: 72px;
  height: 46px !important;
  padding: 0 !important;
  border: 0;
  background-color: transparent;
  border-left: 1px solid var(--color-ui-02);
  border-right: 1px solid var(--color-ui-02);
  -moz-appearance: textfield;
  outline: 0 !important;
}
.single-product
  .woocommerce-variation-add-to-cart
  .qty::-webkit-inner-spin-button,
.single-product
  .woocommerce-variation-add-to-cart
  .qty::-webkit-outer-spin-button,
.single-product .elementor-product-simple .qty::-webkit-inner-spin-button,
.single-product .elementor-product-simple .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.woocommerce-cart-form .quantity-button,
.single-product .quantity-button {
  margin: 0 !important;
  background-color: transparent;
  color: var(--color-text-dark-grey) !important;
  height: 100%;
  padding: 0 !important;
  width: 28px;
  font-size: 16px;
}
.elementor-widget-text-editor:not(.footer__list) .woocommerce-MyAccount-content .button,
.woocommerce-cart-form .quantity-button:hover,
.woocommerce-cart-form .quantity-button:active,
.single-product .quantity-button:hover,
.single-product .quantity-button:active {
  border: 2px solid var(--color-navy) !important;
  background-color: var(--color-navy);
  color: #fff !important;
}
.woocommerce-page.woocommerce-checkout #payment #place_order,
button[name="calc_shipping"],
.woocommerce-form-register__submit,
.lost_reset_password button,
.woocommerce-js
  table.shop_table
  td.woocommerce-orders-table__cell-order-actions
  a:last-child,
.woocommerce .return-to-shop a,
.woocommerce-page ul.products li.product.desktop-align-left .button,
.woocommerce .login .button,
.woocommerce .woocommerce-info .button,
.woocommerce-edit-account .edit-account button[type="submit"],
.woocommerce-address-fields button,
.woocommerce-checkout
  .place-order
  button[name="woocommerce_checkout_place_order"],
.cart-collaterals .cart_totals .wc-proceed-to-checkout a,
.single-product .single_add_to_cart_button {
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  height: 46px;
  color: white !important;
  width: 100% !important;
  text-transform: uppercase;
  z-index: 3;
  position: relative;
  overflow: hidden !important;
  border: 2px solid var(--color-navy) !important;
  margin-top: var(--space-md) !important;
  margin-bottom: var(--space-md) !important;
  transition: all 0.3s linear;
  &:after {
    content: "";
    margin-left: 8px;
    width: 14px;
    height: 14px;
    background: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 1V5.5H12H13V7.5H12H7.5V12V13H5.5V12V7.5H1H0V5.5H1H5.5V1V0H7.5V1Z" fill="white"/></svg>');
    display: inline-block;
    background-size: 14px;
    background-position: center;
    position: relative;
    top: 1px;
  }
  &:hover,
  &:active {
    background-color: white !important;
    color: var(--color-navy) !important;
    border-color: var(--color-teal) !important;
    box-shadow: 0px 0px 15px 0px rgba(70, 186, 200, 0.75);
    &::after{
      background-color: var(--color-navy) !important;
    }
  }
}
button[name="calc_shipping"],
.woocommerce-form-register__submit,
.lost_reset_password button,
.woocommerce-js
  table.shop_table
  td.woocommerce-orders-table__cell-order-actions
  a:last-child,
.woocommerce .return-to-shop a,
.woocommerce-page ul.products li.product.desktop-align-left .button,
.woocommerce .login .button,
.woocommerce .woocommerce-info .button,
.woocommerce-edit-account .edit-account button[type="submit"],
.woocommerce-address-fields button,
.woocommerce-checkout
  .place-order
  button[name="woocommerce_checkout_place_order"],
.cart-collaterals .cart_totals .wc-proceed-to-checkout a {
  padding: 8px;
  background-color: var(--color-navy);
  br {
    display: none;
  }
  &::after {
    display: none !important;
  }
}
button[name="calc_shipping"],
.woocommerce-form-register__submit,
.lost_reset_password button,
.woocommerce-js
  table.shop_table
  td.woocommerce-orders-table__cell-order-actions
  a:last-child,
.woocommerce .return-to-shop a,
.woocommerce-page ul.products li.product.desktop-align-left .button,
.woocommerce .login .button,
.woocommerce .woocommerce-info .button {
  width: auto !important;
  margin: 0 !important;
  padding-top: 15px;
  padding-right: 30px;
  padding-bottom: 15px;
  padding-left: 30px;
}
.woocommerce-form-register__submit,
.woocommerce .login .button {
  margin: var(--space-xs) 0 !important;
}
.single-product .single_add_to_cart_button.disabled {
  opacity: 0.3;
  pointer-events: none;
  background-color: var(--color-text-dark-grey);
  border-color: var(--color-text-dark-grey);
}
.single-product .woocommerce-variation-add-to-cart {
  flex-wrap: wrap !important;
}
.single-product .variations {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  .label {
    margin-bottom: 2px !important;
    background-color: transparent !important;
  }
  tbody {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: var(--space-lg);
  }
  select {
    border: 1px solid var(--color-ui-02) !important;
    padding-left: var(--space-base) !important;
    padding-right: var(--space-base) !important;
    height: 48px;
    border-radius: 4px;
  }
}
.single-product .reset_variations {
  display: none !important;
}
.single-product .woocommerce-variation-price {
  text-align: right;
  margin-top: 8px;
  font-size: 16px;
  bdi {
    color: var(--color-navy) !important;
  }
}
.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  padding: var(--section-space) 0;
  line-height: 125%;
  font-size: var(--heading-xxl);
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
}
.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  li {
    &:before {
      display: none;
    }
  }
}
@media (max-width: 767px) {
  .single-product .woocommerce-variation-add-to-cart,
  .single-product .elementor-product-simple {
    flex-direction: column;
    align-items: flex-start;
  }
  .single-product .woocommerce-variation-add-to-cart .quantity,
  .single-product .elementor-product-simple .quantity {
    display: flex;
    flex-direction: row;
    white-space: nowrap;
    justify-content: space-between;
  }
  .single-product .elementor-product-simple .quantity {
    margin: 32px 0 0 0 !important;
  }
  .single-product .woocommerce-variation-add-to-cart .quantity {
    margin-top: 32px !important;
  }
  .single-product .woocommerce-variation-add-to-cart .quantity .qty,
  .single-product .elementor-product-simple .quantity .qty {
    width: 100%;
  }
  .single-product .single_add_to_cart_button {
    width: 100% !important;
    height: 45px;
    max-width: none !important;
    margin: 24px 0 0 0 !important;
  }
  .single-product .variations {
    tbody {
      display: block;
      tr {
        width: 100%;
        display: block;
        margin-bottom: 30px !important;
      }
    }
  }
}

/* WooCommerce - Single Product Downloads */
.acf-product-downloads {
  display: flex;
  gap: 24px;
  a {
    color: var(--color-navy);
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    text-transform: uppercase;
    border-bottom: 2px solid var(--color-navy);
    padding: 12px 0;
    display: inline-block;
    &:after {
      content: "";
      background: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 1V8.59375L11.2812 6.3125L12 5.59375L13.4062 7L12.6875 7.71875L8.6875 11.7188L8 12.4375L7.28125 11.7188L3.28125 7.71875L2.5625 7L4 5.59375L4.6875 6.3125L7 8.59375V1V0H9V1ZM0 16V11H5.15625L6.5625 12.4375L8 13.8438L9.40625 12.4375L10.8125 11H16V16H0ZM13.5 12.75C13.0625 12.75 12.75 13.0938 12.75 13.5C12.75 13.9375 13.0625 14.25 13.5 14.25C13.9062 14.25 14.25 13.9375 14.25 13.5C14.25 13.0938 13.9062 12.75 13.5 12.75Z" fill="%23133E60"/></svg>');
      background-size: 16px;
      background-position: center;
      width: 16px;
      height: 16px;
      display: inline-block;
      margin-left: 8px;
    }
    &:hover,
    &:active {
      border-color: var(--color-teal);
    }
  }
}
@media (max-width: 767px) {
  .acf-product-downloads {
    margin-top: 24px;
  }
}
#page {
  display: block !important;
}
/* WooCommerce - Single Product Tabbed Content */
.woocommerce-tabs {
  padding-top: 0 !important;
  margin: 0 !important;
  .tabs {
    justify-content: center;
    align-items: center;
    display: flex;
    li {
      margin: 0 !important;
    }
    a {
      padding: 16px !important;
      display: block;
      outline: 0;
      position: relative;
      &:after {
        content: "";
        width: 100%;
        height: 4px;
        background-color: var(--color-navy);
        position: absolute;
        left: 0;
        bottom: 0;
        display: none;
      }
      &:hover,
      &:active {
        color: var(--color-teal) !important;
      }
    }
    .active a:after {
      display: block;
    }
  }
}
.woocommerce-Tabs-panel {
  border-top: 1px solid var(--color-ui-01) !important;
  padding: var(--gutter) !important;
  p + h2,
  p + style + h2,
  p + h4,
  p + style + h4,
  p + h3 {
    margin-top: 32px;
  }
  h2 + p,
  p + ul,
  p + .product-videos-wrapper,
  .product-videos-wrapper p,
  p + table {
    margin-top: 16px;
  }
  .product-videos-wrapper p {
    margin-bottom: 16px !important;
  }
  ul:last-child {
    margin-bottom: 0;
  }
}
.single-product.woocommerce-js h2 {
  margin-bottom: 0 !important;
}

.woocommerce-js {
  form .form-row.woocommerce-validated input.input-text {
    border-color: var(--color-teal);
  }
  input:focus,
  input[type="text"]:focus {
    border-style: solid !important;
  }
  .woocommerce {
    /* SUCCESS PAGE */
    .woocommerce-order {
      .woocommerce-thankyou-order-received {
        color: var(--color-navy);
      }
      .woocommerce-customer-details,
      .woocommerce-order-details {
        h2 {
          background-color: var(--color-navy) !important;
          color: var(--color-text-white);
        }
      }
    }

    /* CART */

    .woocommerce-table--order-details,
    .shop_table.my_account_orders,
    .shop_table.cart {
      border: none;
      thead > tr > th {
        background-color: var(--color-navy);
        color: var(--color-text-white);
      }
      tbody {
        > tr:nth-child(even) {
          background-color: var(--color-ui-01);
        }
        > tr {
          &.woocommerce-cart-form__cart-item.mobile-cart {
            display: none;
          }
          td {
            border: none;
            a {
              color: var(--color-navy);
              font-weight: var(--font-weight-bold);
            }
            dd,
            dt {
              font-weight: 400;
              color: var(--color-text-dark-grey);
            }
          }
        }
        > tr:last-child {
          background-color: var(--color-ui-white);
          .actions {
            padding-right: 0px !important;
            .coupon {
              display: none !important;
            }
            .button {
              display: flex !important;
              align-items: center;
              background-color: var(--color-ui-white);
              text-transform: uppercase;
              color: var(--color-navy);
              padding-left: 0;
              padding-right: 0;
              float: right;
              border-bottom: 2px solid var(--color-navy) !important;
              border-radius: 0;
              gap: var(--space-xs);
            }
          }
        }
      }
    }
    .woocommerce-table--order-details,
    .shop_table.my_account_orders {
      border: 1px solid var(--ast-border-color);
      & tbody {
        & > tr {
          td:nth-child(odd) {
            border-left: 1px solid var(--ast-border-color);
            border-right: 1px solid var(--ast-border-color);
          }
        }
      }
    }
    .woocommerce-column--billing-address,
    .woocommerce-column--shipping-address{
        h2 {
          background-color: var(--color-navy) !important;
          color: var(--color-text-white);
          font-size: 1.625rem;
        }
    }
    .woocommerce-checkout {
      margin-top: var(--section-space);
    }
    .shop_table.woocommerce-checkout-review-order-table {
      thead {
        th {
          color: var(--color-navy);
        }
      }
      tbody {
        > tr {
          td {
            font-weight: 400 !important;
            color: var(--color-text-dark-grey);
          }
        }
      }
      tfoot {
        th {
          color: var(--color-navy);
        }
      }
      .form-row label {
        color: var(--color-navy);
      }
    }

    button.show-password-input {
      &::after {
        content: "";
        width: 16px;
        height: 16px;
        display: block;
        background-color: #fff;
        mask-repeat: no-repeat;
        mask-position: right center;
        mask-size: contain;
      }
    }
    button.show-password-input:not(.display-password) {
      &::after {
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"/></svg>');
      }
    }
    button.show-password-input.display-password {
      &::after {
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM204.5 138.7c23.5-16.8 52.4-26.7 83.5-26.7 79.5 0 144 64.5 144 144 0 31.1-9.9 59.9-26.7 83.5l-34.7-34.7c12.7-21.4 17-47.7 10.1-73.7-13.7-51.2-66.4-81.6-117.6-67.9-8.6 2.3-16.7 5.7-24 10l-34.7-34.7zM325.3 395.1c-11.9 3.2-24.4 4.9-37.3 4.9-79.5 0-144-64.5-144-144 0-12.9 1.7-25.4 4.9-37.3L69.4 139.2c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6l-64.2-64.2z"/></svg>');
      }
    }
  }
  .cart-collaterals {
    .cart_totals {
      padding: 0;
      border: none;
      > h2 {
        padding: 0 20px !important;
        background-color: var(--color-ui-white);
        font-size: var(--heading-lg);
        padding-left: 0;
        padding-right: 0;
        border-bottom: none;
        text-transform: capitalize;
      }
      .shop_table {
        border: 1px solid #d3d4d8 !important;
        tbody {
          th {
            font-weight: var(--font-weight-bold);
            color: var(--color-navy);
          }
        }
      }
    }
    .cross-sells{
      border: none;
      padding: 0;
      > h2{
        border: none;
        padding: 0;
        font-size: var(--heading-lg);
        background-color: var(--color-ui-white);
        margin-left: 0 !important;
      }
      .product{
        border: 1px solid var(--color-light-grey);
      }
    }
  }
  &.woocommerce-account {
    .woocommerce-MyAccount-content > p {
      margin-bottom: var(--space-sm) !important;
    }

    a > br {
      display: none !important;
    }
    .woocommerce-MyAccount-navigation {
      .woocommerce-MyAccount-navigation-link {
        padding: 12px 0 12px 20px;
        &:before {
          display: none;
        }
        a {
          background-color: unset;
          br {
            display: none;
          }
        }
        &.is-active {
          background-color: var(--color-navy);
          a {
            color: var(--color-text-white) !important;
          }
        }
        &:last-child {
          padding-bottom: 12px;
        }
      }
    }
    &.woocommerce-edit-account,
    &.woocommerce-edit-address {
      .woocommerce-Address {
        .title {
          display: flex;
          justify-content: space-between;
          align-items: center;
          background-color: var(--color-navy);
          h2 {
            font-size: var(--heading-sm);
            margin: 0;
            color: var(--color-text-white);
          }
          p > a {
            color: var(--color-text-white);
          }
        }
      }
      .edit-account,
      .woocommerce-address-fields {
        p + p {
          margin-top: 0 !important;
        }
        p > br {
          display: none !important;
        }
        input.input-text:focus {
          border-color: var(--color-teal) !important;
        }
        p:nth-child(n + 4) {
          label {
            margin-top: var(--space-sm);
          }
        }
      }
    }
    fieldset,
    .login {
      .form-row {
        padding: 0;
        .password-input {
          input {
            width: 85%;
            float: left;
          }
          button {
            float: right;
          }
        }
      }
      p + p {
        margin-top: 0 !important;
      }
      p > br {
        display: none !important;
      }
      input.input-text:focus {
        border-color: var(--color-teal) !important;
      }
      p:nth-child(n + 3) {
        label {
          margin-top: var(--space-sm);
        }
      }
    }
    fieldset {
      .form-row {
        .password-input {
          input {
            width: 90% !important;
          }
        }
      }
    }
  }
  ul.products li.product.product-category a {
    img {
      display: none;
    }
    h2 {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      gap: var(--space-xs);
      position: static;
      padding: 12px 0;
      border-bottom: 2px solid var(--color-navy);
      mark {
        display: none !important;
      }
      &::after {
        content: "";
        width: 16px;
        height: 16px;
        display: block;
        background-color: var(--color-navy);
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc.--><path d="M534.9 278.6l22.6-22.6-22.6-22.6-160-160-22.6-22.6-45.3 45.3c1.3 1.3 44 44 128 128l-402.7 0 0 64 402.7 0c-84 84-126.7 126.7-128 128l45.3 45.3 22.6-22.6 160-160z"/></svg>');
        mask-repeat: no-repeat;
        mask-position: right center;
        mask-size: contain;
      }
    }
  }
  .products {
    .product {
      &.ast-grid-common-col {
        padding-left: 0;
        padding-right: 0;
      }
      .elementor-widget-image img {
        transition: all 0.3s linear;
        height: 189px;
      }
      &:hover {
        .elementor-widget-image img {
          transform: scale(1.1);
        }
      }
    }
    .elementor-pagination {
      margin-top: var(--space-md);
    }
  }
}
/** PLP **/
.plp-hide{
  opacity: 0;
  height: 0;
  display: none !important;
  &.plp-active{
    opacity: 1;
    height: auto;
    display: block !important;
  }
}
.plp-active .ast-grid-common-col{
    padding-left: 0;
    padding-right: 0;
}
.wc-block-product-filter-checkbox-list__input-wrapper:before {
  background: var(--color-text-white) !important;
  border-radius: 0 !important;
  border: 1px solid var(--color-ui-02);
  width: 24px !important;
  height: 24px !important;
  opacity: 1 !important;
}
input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
  width: 24px !important;
  height: 24px !important;
}
svg.wc-block-product-filter-checkbox-list__mark {
  top: 4px !important;
  left: 4px !important;
}

.wc-block-product-filter-price-slider__range input[type="range"],
.woocommerce-page ul.products li.product.desktop-align-left .button {
  color: var(--color-text-white);
  padding-top: 12px;
}
.wc-block-product-filter-price-slider__range input[type="range"],
.wc-block-product-filter-price-slider__range .range-bar {
  background: var(--color-teal) !important;
}
.wc-block-product-filter-price-slider__range input {
  -webkit-appearance: none;
  background: transparent;
  width: 100%;
}
.wc-block-product-filter-price-slider__range input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: #0073aa;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  cursor: pointer;
}

.wc-block-product-filter-price-slider__range input::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #0073aa;
  border-radius: 50%;
  border: 2px solid #fff;
  cursor: pointer;
}
.wc-block-product-filters__overlay-content {
  > h2 {
    display: none;
  }
}
.wc-block-product-filter-price-slider .text input[type="text"] {
  border-radius: 0 !important;
  border: 1px solid var(--color-ui-02) !important;
}
div[data-wp-interactive="woocommerce/product-filters"] {
  &:not(.wp-block-woocommerce-product-filters):not(
      .wp-block-woocommerce-product-filter-checkbox-list
    ):not(.wp-block-woocommerce-product-filter-price-slider) {
    border-bottom: 1px solid var(--color-light-grey);
    padding-bottom: var(--space-base);
  }

  > fieldset > div {
    display: none;
  }
  > h3 {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    &::after {
      content: "";
      width: 16px;
      height: 16px;
      display: block;
      background-color: var(--color-navy);
      mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc.--><path d="M192.4 385.9l17-17 160-160 17-17-33.9-33.9-17 17-143 143-143-143-17-17-33.9 33.9 17 17 160 160 17 17z"/></svg>');
      mask-repeat: no-repeat;
      mask-position: right center;
      mask-size: contain;
    }
    &.active {
      &::after {
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc.--><path d="M192.4 126.1l17 17 160 160 17 17-33.9 33.9-17-17-143-143-143 143-17 17-33.9-33.9 17-17 160-160 17-17z"/></svg>');
      }
    }
  }
  &.wp-block-woocommerce-product-filter-price {
    > div {
      display: none;
    }
  }
}
.woocommerce-js {
  .elementor-grid {
    .product {
      padding-left: 0;
      padding-right: 0;
      img {
        transition: transform 0.25s linear;
      }
      &:hover {
        img {
          transform: scale(1.1);
        }
      }
    }
  }
}
/* .category-blog,
.category-news {
  a {
    > div:first-child {
      transition: all 0.25s linear;
      background-size: cover !important;
    }
  }
  &:hover {
    a {
      > div:first-child {
        background-size: 120% !important;
      }
    }
  }
} */
.woocommerce-js ul#shipping_method,
.woocommerce-page.woocommerce-checkout #payment ul.payment_methods {
  li:before {
    display: none;
  }
}
.woocommerce-js .wc_payment_methods .wc_payment_method{
  p+p{
    margin-top: auto !important;
  }
}
.woocommerce {
  .woocommerce-shipping-calculator {
    padding: 12px 0;
    .shipping-calculator-button {
      font-weight: 700;
      color: var(--color-navy);
      padding: 12px 0;
      border-bottom: 2px solid var(--color-navy);
      &:hover {
        color: var(--color-teal);
        border-bottom: 2px solid var(--color-teal);
      }
    }
    .shipping-calculator-form {
      padding-top: 12px;
      br{
        display: none;
      }
    }
  }
}
.woocommerce-js div.product .woocommerce-product-rating.obx-product-rating-no-link{
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
  align-items: center;
  .star-rating span, .star-rating span:before{
    color: var(--color-brand-02);
  }
}
.woocommerce-js #reviews .comment-form-rating .stars a{
  top: 0;
}
.woocommerce .comment-form-rating .stars a,
.woocommerce .star-rating{
  color: var(--color-brand-02);
}
.woocommerce-js .woocommerce-product-rating .star-rating{
  margin: 0;
  width: 7em;
}
.woocommerce-js .woocommerce-product-rating .star-rating::before,
.woocommerce-js .woocommerce-product-rating .star-rating span::before {
    letter-spacing: 5px;
}
.woocommerce-js #reviews #comments ol.commentlist li{
  padding-bottom: var(--space-base);
}
.wpc-edit-filter-set{
  display: none;
}
@media only screen and (max-width: 920px){
  .woocommerce-js #content table.cart td, .woocommerce-page #content table.cart td.product-quantity{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .woocommerce-js .woocommerce {
    .woocommerce-MyAccount-navigation {
      margin-bottom: var(--section-space);
    }
  }
  .woocommerce-js table.woocommerce-MyAccount-orders.shop_table td.woocommerce-orders-table__cell-order-actions{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#ppc-button-ppcp-gateway > div{
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .woocommerce-js {
    .plp-subcategories {
      .woocommerce.columns-4 > ul {
        display: flex;
        align-items: end;
        flex-flow: row wrap;
      }
    }
  }
}
@media only screen and (max-width: 767px) {
  /* Single Product - Accordion */
  .single-product .woocommerce-tabs ul.wc-tabs {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 4px solid var(--color-teal);
    > li {
      position: relative;
      margin: 0 !important;
    }
    > li > a {
      font-size: 16px;
      padding: 16px 16px 16px 48px !important;
      position: relative;
      width: 100%;
      outline: 0 !important;
      border-bottom: 1px solid var(--color-ui-01);
    }
    > li > a:after {
      content: "";
      background: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 6.5C13 7.0625 12.5312 7.53125 12 7.53125H7.5V12.0312C7.5 12.5625 7.03125 13 6.5 13C5.9375 13 5.5 12.5625 5.5 12.0312V7.53125H1C0.4375 7.53125 0 7.0625 0 6.5C0 5.96875 0.4375 5.53125 1 5.53125H5.5V1.03125C5.5 0.46875 5.9375 0 6.5 0C7.03125 0 7.5 0.46875 7.5 1.03125V5.53125H12C12.5312 5.5 13 5.96875 13 6.5Z" fill="%23565757"/></svg>');
      width: 14px;
      height: 14px;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      display: block;
      position: absolute;
      left: 16px;
      top: 50%;
      transform: translateY(-50%);
    }
    > li.active > a:after {
      background-image: url('data:image/svg+xml,<svg width="13" height="2" viewBox="0 0 13 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2H1C0.4375 2 0 1.5625 0 1C0 0.46875 0.4375 0 1 0H12C12.5312 0 13 0.46875 13 1C13 1.5625 12.5312 2 12 2Z" fill="%23565757"/></svg>');
    }
    > li:before {
      content: "" !important;
      display: block !important;
      width: 100% !important;
      height: 1px !important;
    }
    > li:last-child:after {
      content: "" !important;
      display: block !important;
      width: 100% !important;
      height: 1px !important;
    }
  }
  .single-product div.product.elementor .woocommerce-tabs .panel {
    border-top: 0 !important;
    padding: var(--gutter) !important;
    a {
      font-weight: 400;
      padding: 0;
      text-decoration: underline !important;
      text-underline-offset: 1px;
    }
    ul {
      margin-left: 16px;
    }
    ul li {
      list-style-type: none;
      position: relative;
      display: block !important;
      &:before {
        content: "";
        display: block;
        position: absolute;
        left: -10px;
        top: 11px;
        border-radius: 100%;
        height: 2px;
        width: 2px;
        background-color: currentcolor;
      }
    }
    ul li + li {
      margin-top: 4px;
    }
  }
  .woocommerce-js #reviews #comments ol.commentlist li{
    padding-top: var(--space-base);
  }
  .woocommerce-js .tabbed-content{
    min-height: auto !important;
  }
}
.results-count-inline {
  text-align: center;
  color: var(--color-text-dark-grey);
  font-family: var(--font-family-body);
  font-size: var(--text-base);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

@media only screen and (max-width: 768px) {
  .elementor-widget-filter-everything-sorting .widget_wpc_sorting_widget {
    margin-top: 0 !important;
  }
  .woocommerce-js .woocommerce {
    .shop_table.cart {
      /* Hide the thead on mobile */
      thead {
        display: none;
      }

      tbody {
        /* Leave the .actions row (coupon/update) alone */
        > tr:not(:last-child) {
          display: grid !important;
          grid-template-columns: 110px 1fr 36px;
          border: none;
          margin-bottom: 1rem;

          /* Thumbnail: column 1, spans all 5 sibling cells */
          td.product-thumbnail {
            grid-column: 1;
            padding-left: var(--space-base);

            a {
              display: flex;
              height: 100%;
            }

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              display: block;
            }
          }

          /* Everything else: column 2, stacked */
          td:not(.product-thumbnail) {
            grid-column: 2;
            display: block;
            padding: 4px 8px;
            text-align: left !important;

            a,
            span {
              float: none;
              display: inline;
            }
          }
          td:not(.product-price):not(.product-subtotal) {
            &::before {
              display: none;
            }
          }

          /* Fix variation <dl> — WooCommerce floats/blocks these weirdly */
          td.product-name {
            dl.variation {
              display: block;
              margin: 4px 0 0;

              dt,
              dd {
                display: inline;
                margin: 0;
              }

              dt::after {
                content: "\00a0"; /* non-breaking space between label and value */
              }

              dd:last-of-type::after {
                content: "";
              }
            }
          }

          td.product-remove {
            grid-column: 3;
            grid-row: 1 / span 5;
            display: flex;
            justify-content: center;
            padding: 0;
            padding-top: var(--space-base);
          }
        }
        > tr:last-child {
          .actions {
            display: flex;
            justify-content: center;
            .button {
              width: 160px !important;
            }
          }
        }
      }
    }
  }
  .woocommerce-js .woocommerce {
    fieldset,
    .login {
      .form-row {
        padding: 0;
        .password-input {
          input {
            width: 93%;
            float: left;
          }
          button {
            float: right;
          }
        }
      }
    }
  }
}

@media (max-width: 1199px) {
  .wpc-posts-found {
    left: calc(100% + 50px);
  }
}

.custom-category-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 24px;
  align-self: stretch;
  flex-wrap: wrap;

  .card-image {
    display: flex !important;
    height: 164px;
    width: 164px;
    justify-self: anchor-center;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 24px;
  }

  .custom-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: 260px;
    width: 384px;
    border-radius: 0px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    border: 1px solid var(--color-light-grey);
    background: var(--color-ui-white);
    padding: 0px;
    gap: 10px;
    &:hover {
      box-shadow: 0 0 15px 0 rgba(70, 187, 200, 0.75);
      .card-button {
        color: var(--color-text-white);
      }
    }
  }

  .card-content {
    padding: 0px 24px;
  }
  .card-title {
    color: var(--color-text-navy);
    text-align: center;

    /* Headings/Heading 4 */
    font-family: var(--font-family-heading);
    font-size: var(--heading-md);
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 125%; /* 30px */
  }

  .card-button {
    background: #000;
    width: 100%;
    padding: 8px 14px;
    z-index: 2;
    border: 2px solid var(--color-navy);
    background: var(--color-navy);
    text-align: center;
  }
}

/* Cross Sells */
.cross-sells{
  .woocommerce-loop-product__link{
    overflow: hidden;
  }
  .product{
    box-shadow: 0px 0px 15px 0px rgba(255, 255, 255, 0.76);
    transition: all .25s ease-in-out;
    img{
      transition: transform .25s ease-in-out;
    }
    &:hover,
    &:active{
      box-shadow: 0px 0px 15px 0px rgba(70, 187, 200, 0.76);
      img{
        transform: scale(1.1);
      }
    }
  }
  .astra-shop-summary-wrap{
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
    p{
      text-align: center;
    }
    p a + br{
      display: none !important;
    }
    .woocommerce-Price-amount bdi{
      color: var(--color-text-navy);
      font-weight: 400;
    }
    .woocommerce-loop-product__title{
      margin-bottom: 0 !important;
    }
  }
}

/* === Resource card file-type label (driven by file_ext--<ext> class) ===
   The dynamic class sits on the label widget itself; the card title is a
   separate heading (no file_ext--), so this only affects the label.
   font-size:0 hides the placeholder text; ::after supplies the real label
*/
.file_ext--pdf  .elementor-heading-title,
.file_ext--rvt  .elementor-heading-title,
.file_ext--docx .elementor-heading-title { font-size: 0; }

.file_ext--pdf  .elementor-heading-title::after,
.file_ext--rvt  .elementor-heading-title::after,
.file_ext--docx .elementor-heading-title::after { font-size: 16px; }

.file_ext--pdf  .elementor-heading-title::after { content: "PDF"; }
.file_ext--rvt  .elementor-heading-title::after { content: "Revit Model"; }
.file_ext--docx .elementor-heading-title::after { content: "Word Document"; }

/* === Resource card file-type icon ============================================
   PDF keeps the Elementor icon (no swap). rvt/docx use their custom SVGs; any
   other/unknown extension falls back to icon-file.svg. The :not() group is the unknown-type fallback.
 */

/* Hide the Elementor inline SVG for every type EXCEPT pdf */
.file_ext--rvt  .elementor-icon svg,
.file_ext--docx .elementor-icon svg,
[class*="file_ext--"]:not(.file_ext--pdf):not(.file_ext--rvt):not(.file_ext--docx) .elementor-icon svg { display: none; }

/* Shared box for the swapped icons */
.file_ext--rvt  .elementor-icon::before,
.file_ext--docx .elementor-icon::before,
[class*="file_ext--"]:not(.file_ext--pdf):not(.file_ext--rvt):not(.file_ext--docx) .elementor-icon::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: center / contain no-repeat;
}

/* Per-type images */
.file_ext--rvt  .elementor-icon::before { background-image: url(assets/icons/icon-rvt.svg); }
.file_ext--docx .elementor-icon::before { background-image: url(assets/icons/icon-doc.svg); }
[class*="file_ext--"]:not(.file_ext--pdf):not(.file_ext--rvt):not(.file_ext--docx) .elementor-icon::before { background-image: url(assets/icons/icon-file.svg); } /* unknown / fallback */

/* === Resources page jump-link bar fixes =====================================
   The sticky site header (~99px) sits at z-index 99; the sticky teal jump-link
   bar (.jumplink-navbar, ~49px) sits directly below it at top:98px.

   1) Anchor offset: jump targets default to scroll-margin-top:0, so clicking a
      jump link parks the section flush under both sticky bars (~147px) and
      hides the category title. Push each target down so the title clears them.

   2) Stacking: the jump bar and header were BOTH z-index:99; the jump bar comes
      later in the DOM, so it painted over the header's nav dropdown menus.
      Drop the jump bar below the header so dropdowns open over the bar.
*/
#bim,
#designschematics,
#iommanuals,
#productspecs,
#writtenspecs {
  scroll-margin-top: 160px;
}

.jumplink-navbar.elementor-sticky {
  z-index: 90 !important; /* below the header (99) so nav dropdowns sit on top */
}

/* Resources jump-link headings: bold + underline on hover.
   Heading widgets here render as <span class="elementor-heading-title"> with an
   <a> inside (HTML tag set to span, not h1-h6), so target the heading title + link. */
.jumplink-navbar--resources .elementor-heading-title:hover,
.jumplink-navbar--resources .elementor-heading-title:hover a {
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .scroll-on-mobile .elementor-widget-container,
  .elementor-widget-image:has(img[src*="tank_1"]) .elementor-widget-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* momentum scroll on iOS */
  }

  .scroll-on-mobile .elementor-widget-container img,
  .elementor-widget-image:has(img[src*="tank_1"]) .elementor-widget-container img {
    max-width: none;
    width: auto;
    min-width: 700px; /* keeps callout labels legible; user scrolls to see the rest */
    height: auto;
  }
}

@media (max-width: 767px) {
  .stack-on-mobile.e-grid,
  .stack-on-mobile > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    align-items: start !important;
  }

  .stack-on-mobile,
  .stack-on-mobile .elementor-widget-text-editor {
    column-count: 1 !important;
  }
}

/* My Account: Orders list — align action buttons in a single tidy row */
td.woocommerce-orders-table__cell-order-actions > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-xs);
  margin-bottom: 0;
}
td.woocommerce-orders-table__cell-order-actions > p .button {
  margin: 0 !important;
}
/* My Account: Order detail — space between the Actions buttons (Pay / Cancel) */
.woocommerce-table--order-details td .order-actions-button {
  margin-right: var(--space-xs);
}
.woocommerce-table--order-details td .order-actions-button:last-child {
  margin-right: 0;
}
button[name="update_cart"] {
  white-space: nowrap;
}

