/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via scss/_bscore_custom.scss
*/

/* Product Template Default (Category page) */
.tax-product_cat {
  #primary {
    #main {
      padding: 0px 15px;
      margin: 0 auto;
      max-width: 100%;

      @media (min-width: 576px) {
        & {
          max-width: 540px;
        }
      }

      @media (min-width: 768px) {
        & {
          max-width: 720px;
        }
      }

      @media (min-width: 992px) {
        & {
          max-width: 960px;
        }
      }

      @media (min-width: 1200px) {
        & {
          max-width: 1140px;
        }
      }

      @media (min-width: 1400px) {
        & {
          max-width: 1320px;
        }
      }
    }
  }
}

/* ---------------
    global styles
    --------------*/

body {
  font-family: "Inter", sans-serif;
  background: #fefdfe;
}

.site-content.container {
  padding: 0px 20px;
}

hr {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  margin: 20px 0px;

  @media (min-width: 992px) {
    margin: 25px 0px;
  }
}

input,
select {
  box-shadow: none !important;
}

p {
  font-size: var(--ct-font-para);
  max-width: 70ch !important;
}

h1,
h2,
h3,
h4,
h5,
p {
  line-height: 140%;
  letter-spacing: -0.5px;
}

a {
  text-decoration: none;
}

.entry-content ul {
  padding-left: 0px;
  list-style-position: inside;
  max-width: 55ch;
}

.entry-content ul {
  list-style-position: outside;
  li {
    margin-top: 10px;
  }
}

h1 {
  font-weight: 800;
  font-size: var(--ct-titleFont-h1);
}

h2 {
  font-size: var(--ct-titleFont-h2);
}

h3 {
  font-size: var(--ct-titleFont-h3);
}

h4 {
  font-size: var(--ct-titleFont-h4);
}

h5 {
  font-size: var(--ct-titleFont-h5);
}

h1,
h2 {
  text-wrap: balance;
}

h2,
h3,
h4,
h5 {
  font-weight: 600 !important;
  margin-bottom: 0.75rem !important;
}

/* ----- Shewee Buttons ----- */

.swPrimaryBtn {
  & {
    transition-duration: 0.1s;
    position: relative;
    border-radius: 5px;
    max-width: 300px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    &:focus {
      outline: 2px solid rgba(0, 0, 0, 0.1) !important;
    }

    &::before {
      right: 0;
      top: 0;
    }

    &::after {
      left: 0;
      bottom: 0;
    }

    &::before,
    &::after {
      content: "";
      width: 0;
      height: 3px;
      position: absolute;
      transition: all 0.2s linear;
      background: var(--sw-light-blue);
      transition-delay: 0.2s;
    }

    &:hover::before,
    &:hover::after {
      width: 100%;
      transition-delay: 0s;
    }

    &:active {
      transform: scale(0.95);
    }
  }

  & > .swPrimaryBtnInner {
    background-color: var(--sw-bright-blue);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 5px;
    border: none;
    font-weight: 600;
    width: 100%;
    height: 100%;

    &::before,
    &::after {
      content: "";
      width: 3px;
      height: 0;
      position: absolute;
      transition: all 0.2s linear;
      background: var(--sw-light-blue);
      transition-delay: 0s;
    }

    &::before {
      left: 0;
      top: 0;
    }
    &::after {
      right: 0;
      bottom: 0;
    }

    & > p {
      margin: 0px;
      color: white;
    }
  }

  &:hover .swPrimaryBtnInner::before,
  &:hover .swPrimaryBtnInner::after {
    height: 100%;
    transition-delay: 0.2s;
  }
}

.cmsBuyBtn {
  border-radius: 5px;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 20px auto 0px auto;
  max-width: 300px !important;
  width: 100%;
  height: 80px;
}

.cmsBuyBtn.flexFieldBtn {
  &::before,
  &::after,
  & > .swPrimaryBtnInner::before,
  & > .swPrimaryBtnInner::after {
    background: white;
  }
  & > button {
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
  }
}

.secondaryBtn {
  background-color: var(--sw-pink);
  color: white;
  transition-duration: 0.1s;

  &:hover {
    background-color: var(--sw-light-pink);
  }
}

.swTransparentBtn {
  background: transparent;
  outline: 2px solid rgba(0, 0, 0, 0.1);
  padding: 10px;
  border: none;

  & > a {
    color: white;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
}

.btnBorderAnimation {
  & {
    position: relative;
    &::before {
      right: 0;
      top: 0;
    }

    &::after {
      left: 0;
      bottom: 0;
    }

    &::before,
    &::after {
      content: "";
      width: 0;
      height: 3px;
      position: absolute;
      transition: all 0.2s linear;
      background: white;
      transition-delay: 0.2s;
    }

    &:hover::before,
    &:hover::after {
      width: 100%;
      transition-delay: 0s;
    }
  }

  & > a {
    &::before,
    &::after {
      content: "";
      width: 3px;
      height: 0;
      position: absolute;
      transition: all 0.2s linear;
      background: white;
      transition-delay: 0s;
    }

    &::before {
      left: 0;
      top: 0;
    }
    &::after {
      right: 0;
      bottom: 0;
    }
  }

  &:hover a::before,
  &:hover a::after {
    height: 100%;
    transition-delay: 0.2s;
  }

  &:hover {
    outline: none;
  }
}

/* -----------------
    Menu Btn
--------------------*/
.menu-btn-3 {
  height: 32px;
  width: 50px;
  cursor: pointer;
  position: relative;

  & > span,
  & > span::before,
  & > span::after {
    background: white;
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 10px;
    margin-top: 13px;
    transform: rotate(180deg);
    transition-duration: 0.2s;
    transition-timing-function: ease;
  }

  &:hover,
  &:focus {
    & > span,
    & > span::before,
    & > span::after {
      background: var(--sw-light-blue);
    }
  }

  & > span::before {
    margin-top: -16px;
    width: 60%;
  }

  & > span::after {
    margin-top: 16px;
    width: 80%;
  }

  @media (min-width: 768px) {
    & {
      width: 75px;

      & > span::before {
        margin-top: -16px;
      }

      & > span::after {
        margin-top: 16px;
      }
    }
  }
}

.headerOffcanvasShow {
  .menu-btn-3 {
    &,
    &:focus {
      & > span,
      & > span::before,
      & > span::after {
        background-color: white !important;
      }
    }

    &,
    &:hover,
    &:focus {
      & > span {
        background: transparent !important;
      }
    }

    &:hover {
      & > span::before,
      & > span::after {
        background: var(--sw-light-blue) !important;
      }
    }

    & > span::before,
    & > span::after {
      margin-top: 0px !important;
      width: 50px !important;
    }

    & > span::before {
      transform: rotate(45deg) !important;
    }

    & > span::after {
      transform: rotate(-45deg) !important;
    }

    @media (min-width: 768px) {
      & > span::before,
      & > span::after {
        width: 60px !important;
      }
    }
  }

  .mobileMenuBtn {
    @media (min-width: 768px) {
      & {
        position: relative;
        top: -25px;
        right: -35px;
      }
    }
  }
}

/* ----------------------
    header topper start
-------------------------*/

.header_topper_ .headerTopBtns {
  background-color: white;
  color: var(--sw-dark-blue);
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition-duration: 0.1s;
  padding: 10px;
  font-size: 0.8rem;
  display: flex;
  align-items: center;

  @media (min-width: 1400px) {
    & {
      padding: 5px 10px;
    }
  }
}

.currencySelectContainer {
  transition-duration: 0.1s;
  position: relative;
  z-index: 2;
  .currencySelector {
    flex-grow: 1;
    position: unset;
    & > button {
      font-size: 0.8rem;
      background-color: white;
      color: var(--sw-dark-blue) !important;
      font-weight: 600;
      border-radius: 50px 0px 0px 50px;
      border: none;
      width: 100%;
      height: 100%;
      text-align: left;

      &:hover,
      &:focus {
        background-color: white;
      }
    }

    & > ul {
      font-size: 0.9rem;
      padding: 0px;
      width: 100%;
      & > li {
        border-top: 1px solid var(--sw-light-blue);
        &:first-of-type {
          border-top: none;
          border-radius: 5px 5px 0px 0px;
        }

        &:last-of-type {
          border-radius: 0px 0px 5px 5px;
        }

        &:hover {
          background-color: var(--sw-light-blue);
        }
        & > a {
          text-align: center;
          font-size: 0.8rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          &:hover {
            background-color: unset;
            color: unset;
          }
        }
      }
    }
  }

  .selectedCurrency {
    padding: 0px 15px 0px 10px;
    background-color: white;
    border-left: 1px solid var(--sw-dark-blue);
    border-radius: 0px 50px 50px 0px;
    color: var(--sw-dark-blue);
  }
}

.header_topper_ .headerTopBtns,
.currencySelectContainer {
  &:hover {
    scale: 1.06;
    box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.1);
  }

  &:active {
    scale: 0.95;
  }
}

.header-actions .mobileAccountBtn {
  background-color: white;
  border: 1px solid var(--sw-dark-blue);
  padding: 8px 16px;

  &:hover {
    border: 1px solid var(--sw-dark-blue);
    background-color: var(--sw-dark-blue);
  }
}

.simpleProductHeader {
  .header_topper_ a {
    color: var(--sw-dark-blue);

    &:hover {
      color: var(--sw-light-blue);
    }
  }
}

.header-actions {
  .mobileMenuBtn {
    z-index: 9999;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;

    & > i {
      color: white;
      font-size: 1.6rem;
    }
  }

  .viewCartBtn {
    border: none;
    background: none;
  }

  .mobileMenuBtn,
  .viewCartBtn {
    padding: 5px;
  }

  @media (min-width: 992px) {
    .mobileMenuBtn,
    .viewCartBtn {
      padding: 10px;
    }

    .viewCartBtn {
      & {
        background: transparent;
        border: none;
        outline: 2px solid rgba(0, 0, 0, 0.1);
        position: relative;
        font-weight: 600;

        &:focus {
          outline: 2px solid rgba(0, 0, 0, 0.1) !important;
        }

        &:hover {
          outline: none !important;
        }

        &::before {
          right: 0;
          top: 0;
        }

        &::after {
          left: 0;
          bottom: 0;
        }

        &::before,
        &::after {
          content: "";
          width: 0;
          height: 2px;
          position: absolute;
          transition: all 0.2s linear;
          background: #fff;
          transition-delay: 0.2s;
        }

        &:hover::before,
        &:hover::after {
          width: 100%;
          transition-delay: 0s;
        }
      }

      & > .viewCartContainer {
        display: flex;
        gap: 10px;
        align-items: center;

        &::before,
        &::after {
          content: "";
          width: 2px;
          height: 0;
          position: absolute;
          transition: all 0.2s linear;
          background: #fff;
          transition-delay: 0s;
        }

        &::before {
          left: 0;
          top: 0;
        }
        &::after {
          right: 0;
          bottom: 0;
        }

        & > p {
          margin: 0px;
          color: white;
        }

        .cart-content:not(:has(.cart-total)) {
          & {
            display: none;
          }
        }

        span.woocommerce-Price-amount {
          color: white;
        }
      }

      &:hover .viewCartContainer::before,
      &:hover .viewCartContainer::after {
        height: 100%;
        transition-delay: 0.2s;
      }
    }
  }
}

.cart-content {
  .cart-total.d-md-inline {
    color: white;
    @media (max-width: 991px) {
      & {
        display: none !important;
      }
    }

    @media (min-width: 992px) {
      & {
        display: block !important;
      }
    }
  }
}

.cart-content-count {
  z-index: 1;
}

/* -----------------
    offcanvas menu
--------------------*/

.offcanvas-body {
  --bs-offcanvas-transition: none !important;
}

.offcanvas.show {
  .offcanvas-header,
  .offcanvas-body,
  .topNavOptions {
    /* background-color: #0080ffe3; */
  }

  .offcanvas-header {
    order: 1;
  }

  .topNavOptions {
    order: 2;
    .header_topper_ {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  }

  .offcanvas-body {
    order: 3;
  }
}

.btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='white'%3E%3C!--!Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--%3E%3Cpath d='M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.5 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z'%3E%3C/path%3E%3C/svg%3E");
  background-size: contain;
  width: 50px;
  height: 50px;
}
#shewee_offcanvas_menu_.show,
#offcanvas-cart.show,
#offcanvas-user.show,
.smallHeader {
  background-image: linear-gradient(-45deg, #73c2fb, #6593f5, #0080ff, #89cff0),
    url(/wp-content/themes/shewee/img/acf-2col-half-circle-bg.webp);
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-size: cover;
  /* background-image: radial-gradient(rgba(17, 154, 222, 0.3) 8px, transparent 8px),
    radial-gradient(rgba(128, 209, 254, 0.4) 8px, transparent 8px);
  background-size: calc(40 * 1px) calc(40 * 1px);
  background-position: 0 0, calc(20 * 5px) calc(20 * 5px); */
}

#shewee_offcanvas_menu_.show {
  background-position: left;
  & > .offcanvas-body {
    display: flex;
    flex-direction: column;
    & > #bootscore-navbar {
      height: 100%;
      border-radius: 5px;
      gap: 0px;
      text-align: left;
      align-items: start;

      & > .menu-item {
        transition-duration: 0.1s;
        padding: 10px;
        width: fit-content;

        & > .nav-link {
          font-size: 1.4rem;
          color: white;
          position: relative;
        }
      }

      & > .menu-item.dropdown.nav-item {
        .dropdown-menu {
          background: transparent;
          & .menu-item {
            .dropdown-item {
              color: white;
              text-align: left;
              font-weight: 600;
              padding: 10px 20px;
            }
          }
        }
      }
    }
  }
}

#shewee_offcanvas_menu_.show .menu-item-has-children:hover,
#shewee_offcanvas_menu_.show .menu-item-has-children .menu-item:hover {
  transform: none;
}

/* -----------------------
    offcanvas mini-cart
--------------------------*/

#offcanvas-cart {
  background-position: center;
  --bs-offcanvas-width: 500px;
}

#offcanvas-cart .woocommerce-mini-cart {
  margin: 20px;
  background-color: white;
  border-radius: 10px;

  & > .woocommerce-mini-cart-item {
    padding: 0px !important;

    & > .row {
      margin: 0px;

      & > * {
        margin: 0 !important;
      }

      & > .item-image,
      & > .item-name {
        padding: 10px;
      }

      & > .item-name {
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        & > a {
          text-decoration: none;
        }
      }

      & > .remove {
        background-color: #f2f2f2;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem;

        .bootscore-custom-render-total {
            display: none !important;
        }

        & > a {
          & > i {
            transition-duration: 0.1s;
            &:hover {
              color: #f44;
              transform: scale(1.1);
            }
          }
        }
      }
    }
  }

  .woocommerce-mini-cart-item:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0px;
  }
}

#offcanvas-cart .woocommerce-mini-cart__total {
    margin-bottom: 25px !important;
}

#offcanvas-cart .woocommerce-mini-cart,
#offcanvas-cart .cart-footer {
  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
}

.shewee_basket_title_ {
  background-color: var(--sw-dark-blue);
  padding: 10px;
  order: -1;
}

.shewee_basket_title_ p {
  margin: 0px;
  color: white;
  font-weight: 800;
  font-size: 1.5rem;
  text-align: center;
}

/* ---------------------
    main navbar start
    --------------------*/

#bootscore-navbar {
  gap: 20px;
  position: relative;
  width: 100%;

  .menu-item {
    position: relative;
    .nav-link {
      color: var(--sw-white);
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 1rem;
      display: flex;
      align-items: center;

      &::before {
        bottom: 0;
        content: "";
        display: block;
        height: 2px;
        left: 50%;
        position: absolute;
        background: #fff;
        transition: width 0.3s ease 0s, left 0.3s ease 0s;
        width: 0;
      }
      &:hover::before {
        width: 100%;
        left: 0;
      }

      & > svg {
        display: none;
      }

      @media (min-width: 1200px) {
        & {
          font-size: 1.2rem;
        }
      }
    }
  }

  & > .menu-item-has-children {
    & > .dropdown-menu {
      border: none;
      background: transparent;

      .dropdown-item {
        padding: 10px 15px;
        font-weight: 600;

        &:hover {
          background-color: transparent;
        }

        &:active,
        &:focus,
        &:focus-visible {
          background-color: unset;
          border: none;
          outline: none;
        }
      }

      .dropdown-item.active {
        background: unset;
      }
    }

    & > .dropdown-menu.show {
      & > .menu-item {
        & > .dropdown-item {
          & > img {
            display: none;
          }
        }
      }
    }
  }

  @media (min-width: 1400px) {
    & {
      & > .menu-item {
        & > .nav-link {
          transition-duration: 0.1s;
          &::before {
            content: none;
          }

          &:hover {
            color: var(--sw-light-blue);
          }
        }
      }
      & > .menu-item-has-children {
        position: unset;
        & > .nav-link {
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          z-index: 6;

          &::before {
            content: none;
          }
        }

        & > .nav-link.show {
          & > .dropdownSectionArrow {
            content: "";
            position: absolute;
            left: 0px;
            right: 0px;
            margin: 0 auto;
            width: 0px;
            height: 0px;
            border-top: 15px solid white;
            border-left: 40px solid transparent;
            border-right: 40px solid transparent;
            transform: rotate(180deg);
            top: 57px;
          }
        }

        & > .dropdown-menu.show {
          display: grid;
          grid-template-rows: auto;
          grid-auto-flow: column;
          grid-auto-columns: minmax(0, 1fr);
          width: fit-content;
          background: white;
          padding: 15px;
          gap: 15px;
          box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.3);
          z-index: 1;

          & > .menu-item {
            max-width: clamp(140px, 10vw, 190px);
            &::after {
              display: none;
            }
            & > .dropdown-item {
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: end;
              height: 100%;
              border: 1px solid #8fc7ff;
              border-radius: 15px;
              text-shadow: none;
              color: var(--sw-bright-blue);
              text-shadow: none !important;
              font-size: clamp(0.7rem, 0.8vw, 0.9rem);
              white-space: unset;
              text-wrap: auto;
              gap: 20px;
              position: relative;
              overflow: hidden;
              transition-duration: 0.1s;

              &:active {
                scale: 0.95;
              }

              &::after {
                content: "";
                position: absolute;
                width: 100%;
                height: 25%;
                background-color: var(--sw-bright-blue);
                bottom: 0;
                background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' width='40px' viewBox='0 0 295.02 108.06'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:white;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Earrow1%3C/title%3E%3Cpath class='cls-1' d='M441.62,103.56c0.94,2.91,1.88,5.82,2.76,9.32a73.5,73.5,0,0,1-9,8.79c-9.27,3.22-18.33,6.38-27.18,10.07-18.1,7.53-36.06,15.41-54.15,23-6.13,2.57-12.38,4.87-18.72,6.85-1.75.55-4-.47-6-0.77,0.31-1.71.23-3.63,1-5.08a22.22,22.22,0,0,1,4.51-5.9c13.66-12.29,30.38-19.36,46.67-27.17,3.75-1.8,7.51-3.56,11.27-5.33a7.13,7.13,0,0,0-4.55-2.25c-24.21-1.19-48.41-2.62-72.63-3.4-44.4-1.42-88.82-2.11-133.14,1.94-9.2.84-18.31,2.66-27.76,3.71l-5.25-5.44c0-2.89-.06-5.79,0-9.26a45.27,45.27,0,0,1,6.92-6.69c19-1.13,37.61-3.17,56.31-3.63,31.08-.76,62.18-0.51,93.28-0.68,2,0,4-.06,6,0q36.61,1.19,73.22,2.43c5,0.17,9.93.57,14.89,0.87l0.32-1.77a53.06,53.06,0,0,0-5.55-2.78c-15.14-5.56-30.42-10.78-45.44-16.65-9.1-3.56-17.93-7.88-26.64-12.33-2-1-2.92-4-4.34-6,2.37-.61,4.8-1.88,7.1-1.68,5.28,0.45,10.47,1.92,15.74,2.42a204.43,204.43,0,0,1,70.45,20.19c1.52,0.74,3.31.92,5.3,1.69Z' transform='translate(-149.36 -53.67)'%3E%3C/path%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: center;
                transition-duration: 0.2s;
                transform: translateY(100px);
              }

              &:hover::after {
                transform: none;
              }

              & > img {
                display: block;
                order: -1;
                max-width: 150px;
                width: 100%;
              }
            }
          }
        }

        & > .dropdown-menu.show,
        & > .dropdown-menu.show > .menu-item > .dropdown-item {
          border-radius: 20px;
        }
      }

      .menu-item-has-children:last-of-type {
        & > .dropdown-menu {
          left: 250px;
        }
      }
    }
  }
}

.dropdown-menu[data-bs-popper] {
  top: 70px !important;
}

#menu-item-379 .dropdown-menu .dropdown-item:hover {
  background: transparent;
}

#bootscore-navbar #menu-item-715 {
  @media (min-width: 992px) {
    display: none;
  }
}


.single-product #bootscore-navbar .menu-item .nav-link {
  &:hover {
    color: rgba(0, 0, 0, 0.4);
  }
}

.simpleProductHeader #bootscore-navbar .menu-item .nav-link {
  color: white;
}




@media (min-width: 1400px) {
    #bootscore-navbar > .menu-item:first-of-type .dropdown-menu {
  left: -20px;
}
  }
/*-------------------
    Category page
---------------------*/

header.woocommerce-products-header {
  max-width: 60ch;
}

.categoryResults {
  & > div:nth-child(1) > p {
    font-weight: 600;
  }
}

.orderby.custom-select {
    min-width: 200px;
}

.card.product {
  & > .card-body {
    padding: 10px;
    a.woocommerce-LoopProduct-link {
      display: flex;
      flex-direction: column;
      flex: 2;
      justify-content: space-between;

      h2.woocommerce-loop-product__title,
      & > .price .woocommerce-Price-amount {
        & {
          font-weight: 600;
          font-size: var(--ct-font-price);
        }
      }
    }
    a.button {
      margin: 0px;
      font-size: var(--ct-font-para);
    }
  }
}

/* ---------------------
    splide slider start
    --------------------*/

.thumbnails {
  display: flex;
  margin: 1rem auto 0;
  padding: 0;
  justify-content: center;
}

.thumbnail {
  width: 70px;
  height: 70px;
  overflow: hidden;
  list-style: none;
  margin: 0 0.2rem;
  cursor: pointer;
}

.thumbnail img {
  width: 100%;
  height: auto;
}

.thumbnail {
  opacity: 0.3;
}

.thumbnail.is-active {
  opacity: 1;
}

.splide_thumbnail_slider_ {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 10px;
}

.splide__arrow {
  background-color: transparent;
  width: 50px;
  height: 50px;
}

.splide__arrow svg {
  fill: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
}

.splide__arrow--prev {
  left: 0px;
}

.splide__arrow--next {
  right: 0px;
}

#main_gallery_img_ .splide__pagination__page {
  display: none !important;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: none !important;
}

#colour-carousel .splide__arrows {
  display: none;
}

#colour-carousel-list {
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 10px;
}

#colour-carousel {
  height: 30px;
  bottom: 0;
  z-index: 10;
}

.sw_product_slider_ {
  padding: 40px 0px 60px 0px;
  z-index: 1;
}

#main_gallery_img_ {
  max-width: 800px;
  width: 100%;
}

.main_img_slide_ {
  display: flex;
  justify-content: center;

  & > img {
    width: 100%;
    max-width: 250px;
  }

  @media (min-width: 400px) {
    & > img {
      max-width: 350px;
    }
  }

  @media (min-width: 481px) {
    & > img {
      max-width: 450px;
    }
  }

  @media (min-width: 576px) {
    & > img {
      max-width: 600px;
    }
  }
}

#main_gallery_img_-list {
  max-width: 800px;
  height: 90%;
}

.colour_option_ {
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;

  & > div {
    width: 24px;
    height: 24px;
    border-radius: 50px;
  }
}

@media (min-width: 768px) {
  #colour-carousel {
    width: 300px;
  }

  .splide__arrow {
    width: 100px;
    height: 100px;
  }
}

@media (min-width: 992px) {
  .splide__arrow {
    width: 150px;
    height: 150px;
  }
}

@media (min-width: 1024px) {
  #colour-carousel {
    width: 400px;
  }
}

/* ---------------------
    splide slider end
------------------------*/

/* ---------------------
    Brand slider start
------------------------*/

#brand-carousel .splide__arrows,
#brand-carousel .splide__pagination,
.brand-carousel .splide__arrows,
.brand-carousel .splide__pagination {
  display: none;
}

/* ---------------------
    Brand slider end
------------------------*/

:root {
  /*----------------
  Custom Colours
------------------*/
  --sw-bright-blue: #0080ff;
  --sw-light-blue: #80d1fe;
  --sw-dark-blue: #119ade;
  --sw-white: #fffafa;
  --sw-black: #080808;
  --sw-purple: #8f0083;
  --sw-green: #03bcce;
  --sw-dark-green: #576c4d;
  --sw-light-brown: #e1b97b;
  --sw-brown: #e8ab41;
  --sw-light-pink: #c794cc;
  --sw-pink: #e34fa3;

    /* Gap spacing */

  --g-01: clamp(15px, 3vw, 30px);
  --g-02: clamp(20px, 3vw, 40px);
  --g-03: clamp(30px, 4vw, 60px);
  --g-04: clamp(40px, 4vw, 80px);
  --g-05: clamp(50px, 5.2vw, 100px);

  /*-----------
    font sizes
  -------------*/

  /* Smaller Font Sizes */
  --ct-font-para: 0.9rem;
  --ct-font-price: 1.1rem;

  /* Sub Heading Font Sizes */
  --ct-font-nm: 1rem;
  --ct-font-md: 1.1rem;
  --ct-font-lg: 1.2rem;
  --ct-font-xl: 1.3rem;
  --ct-font-xxl: 1.4rem;

  /* title font sizes */
  --ct-titleFont-h5: 1rem;
  --ct-titleFont-h4: 1.2rem;
  --ct-titleFont-h3: 1.4rem;
  --ct-titleFont-h2: 1.6rem;
  --ct-titleFont-h1: 2rem;
  --ct-titleFont-xxl: 2.5rem;

  @media (min-width: 576px) {
    --ct-font-nm: 1.1rem;
    --ct-font-md: 1.2rem;
    --ct-font-lg: 1.3rem;
    --ct-font-xl: 1.4rem;
    --ct-font-xxl: 1.5rem;

    --ct-titleFont-h5: 1.2rem;
    --ct-titleFont-h4: 1.4rem;
    --ct-titleFont-h3: 1.6rem;
    --ct-titleFont-h2: 1.8rem;
    --ct-titleFont-h1: 2.2rem;
    --ct-titleFont-xxl: 3rem;
  }

  @media (min-width: 768px) {
    --ct-font-price: 1.2rem;

    --ct-titleFont-h3: 1.8rem;
    --ct-titleFont-h2: 2rem;
    --ct-titleFont-h1: 2.4rem;
  }

  @media (min-width: 992px) {
    --ct-font-para: 1rem;
    --ct-font-nm: 1.2rem;
    --ct-font-md: 1.3rem;
    --ct-font-lg: 1.4rem;
    --ct-font-xl: 1.5rem;
    --ct-font-xxl: 1.6rem;

    --ct-titleFont-h2: 2.2rem;
    --ct-titleFont-h1: 2.6rem;
    --ct-titleFont-xxl: 3.5rem;
  }

  @media (min-width: 1200px) {
    --ct-font-nm: 1.3rem;
    --ct-font-md: 1.4rem;
    --ct-font-lg: 1.5rem;
    --ct-font-xl: 1.6rem;
    --ct-font-xxl: 1.7rem;
  }

  @media (min-width: 1400px) {
    --ct-font-nm: 1.4rem;
    --ct-font-md: 1.5rem;
    --ct-font-lg: 1.6rem;
    --ct-font-xl: 1.7rem;
    --ct-font-xxl: 1.8rem;

    --ct-titleFont-h1: 2.8rem;
  }
}

/* -------------------------
    shewee product display
----------------------------*/

.productDisplaySection {
  padding-top: 100px;

  @media (min-width: 992px) {
    padding-top: 200px;
  }
}

.single-product .wc-breadcrumb {
  display: none;
}

.productCurve {
  left: 0;
  bottom: 0;
}

.productEssential,
.product_title_,
.product_subtitle_ {
  color: var(--sw-white);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.productEssential {
  text-align: center;
  font-family: pacifico;
  font-size: var(--ct-titleFont-h2);
  margin-bottom: 0.5rem;
}

.product_subtitle_ {
  line-height: unset;
}

.product_title_,
.product_subtitle_ {
  font-weight: 800;
  font-family: "Inter", sans-serif;
}

.product_title_span_,
.product_subtitle_span_ {
  color: var(--sw-dark-blue);
}

#festival_essential_ {
  width: 300px;
  height: 40px;

  @media (min-width: 576px) {
    & {
      width: 400px;
      height: 50px;
    }
  }

  @media (min-width: 992px) {
    & {
      width: 500px;
      height: 55px;
    }
  }

  @media (min-width: 992px) {
    & {
      width: 600px;
      height: 60px;
    }
  }
}

.product_title_ {
  font-size: 2.3rem !important;
  line-height: 90%;
  max-width: 650px !important;
  text-wrap: balance;
}

.product_subtitle_ {
  font-size: 1rem !important;
}

.sw_circle_ {
  width: 230px;
  height: 230px;
}

.sw_circle_ svg {
  width: 100%;
  height: 100%;
  fill: white;
}

.sw_circle_ div {
  position: absolute;
  top: 0px;
  width: 20px;
  height: 20px;
  border-radius: 50px;
  background-color: white;
}

.sw_certification_label_ {
  overflow: hidden;
  width: 230px;
  height: 230px;
  position: absolute;
  top: 15px;
  right: -25px;
  background-color: var(--sw-white);
  border-radius: 150px;
  box-shadow: 5px 2px 0px 5px #65aed1;
  color: var(--sw-purple);
}

.sw_certification_label_inner_ {
  transform: rotate(10deg);
  font-family: "Inter", sans-serif;
}

.sw_certification_label_inner_ p {
  font-weight: 600;
  line-height: 100%;
}

.sw_certification_label_inner_ span {
  font-size: 1.7rem;
  color: var(--sw-pink);
  line-height: 80%;
}

.sw_certification_label_::after {
  opacity: 0;
  content: "";
  top: 0;
  transform: translateX(100%);
  width: 50%;
  height: 220px;
  position: absolute;
  z-index: 1;
  animation: slide 2s;
  animation-delay: 1.8s;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.8) 50%,
    rgba(128, 186, 232, 0) 99%,
    rgba(125, 185, 232, 0) 100%
  );
}

@keyframes slide {
  0% {
    opacity: 1;
    transform: translateX(-100%) rotate(-20deg);
  }
  100% {
    transform: translateX(100%) rotate(-20deg);
  }
}

.simpleProductDisplay {
  .sw_certification_label_ {
    display: none !important;
  }
}

.simpleProductDisplay > .container {
    position: relative;
    z-index: 5;
}

/* -----------------------
    purchase item section
--------------------------*/

.purchase_product_section_ {
  box-shadow: 1px 1px 80px #0000003d;
  background-color: white;
}

.purchase_products_info_ {
  padding: 60px 15px;
}

.purchase_products_info_ .product_deal_ {
  color: var(--sw-bright-blue);
  font-weight: 600;
}

.product_deal_ {
  font-size: var(--ct-font-lg) !important;
}

.purchase_products_info_ .order_within_message_ {
  color: var(--sw-black);
  font-weight: 600;
  font-size: 0.8rem;
}

.addToCartInputs {
  &,
  & > form {
    width: 100%;
  }

  & > form {
    margin: 0px !important;

    label {
      color: var(--sw-pink);
      font-size: 1.2rem;
    }

    & > .variations {
      tr {
        display: flex !important;
        flex-direction: column !important;

        & > td.value {
          & > select {
            width: 100%;
            max-width: 300px;
            height: 50px;
          }
        }
      }
    }

    & > .single_variation_wrap {
      margin-top: 25px;
      & > * {
        font-weight: 600 !important;
      }

      & > .single_variation {
        display: none !important;
      }

      .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: row !important;
        column-gap: 30px;
        & > .quantity {
          flex-wrap: nowrap;
          align-items: center;
          position: relative;
          width: unset !important;
          gap: 10px;
          margin: 0px !important;
          max-width: 200px;

          & > input {
            width: 50px;
            height: 50px;
            border-radius: 50px !important;
          }

          & > button {
            width: 40px;
            height: 40px;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50px !important;

            color: white;
            font-size: 2.2rem;
            border: none;
          }

          & > button.minus {
            background-color: var(--sw-light-pink);
            &:hover {
              background-color: rgba(204, 148, 204, 0.8);
            }
            &:active {
              background-color: rgba(204, 148, 204, 0.9);
            }
          }

          & > button.plus {
            background-color: var(--sw-bright-blue);

            &:hover {
              background-color: rgba(0, 128, 255, 0.8);
            }
            &:active {
              background-color: rgba(0, 128, 255, 0.9);
            }
          }

          &::before {
            content: "Quantity";
            color: var(--sw-pink);
            font-weight: 700;
            position: absolute;
            top: -25px;
            top: -32px;
            font-size: 1.2rem;
          }
        }

        & > button.single_add_to_cart_button {
          background-color: var(--sw-pink) !important;
          border: none !important;
          padding: 10px 20px !important;
          transition-duration: 0.1s !important;
          height: 60px;

          &:hover {
            background-color: var(--sw-light-pink) !important;
          }

          & > .btn-loader {
            background-color: var(--sw-light-pink) !important;
          }
        }

        & > button.single_add_to_cart_button.disabled:hover {
          background-color: var(--sw-pink) !important;
        }
      }
    }
  }

  @media (min-width: 992px) {
    & {
      margin-top: 25px;
      max-width: 1000px;
      & > form {
        display: grid !important;
        grid-template-columns: 1fr 1.7fr;
        column-gap: 60px;

        &::before {
          display: none !important;
        }

        .single_variation_wrap {
          display: flex;
          flex-direction: column;
          justify-content: center;
          margin: 0px;

          & > .woocommerce-variation-add-to-cart {
            column-gap: 60px;

            & > .quantity {
              & > button {
                width: 50px;
                height: 50px;
              }
            }
          }
        }

        & > button {
          padding: 15px 60px !important;
        }
      }
    }
  }
}

.purchase_products_info_ .product_quantity_input_ {
  width: 60px;
  border-radius: 5px 0px 0px 5px;
  border: 1px solid #dee2e6;
}

.purchase_products_info_ .add_to_cart_btn_ {
  background-color: var(--sw-pink);
  border: none;
  outline: none;
  border-radius: 0px 5px 5px 0px;
  color: var(--sw-white);
  padding: 10px 40px;
}

.section_arrow_head_ {
  border-bottom: 5px solid white;
}

.section_arrow_head_::after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  width: 0px;
  height: 0px;
  border-top: 25px solid white;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
}

/* ------------------------------
    product description section
---------------------------------*/

.product_desc_grid_layout {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto auto;
  gap: 25px;
}

.productDescSection {
    max-width: 1000px;
  .woocommerce-product-details__short-description {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    p {
      padding-top: 50px;
      text-align: center;
      font-size: var(--ct-font-lg) !important;
      max-width: 50ch;
    }
  }
}

.product_desc_grid_layout h3,
.product_desc_top_,
.woocommerce-product-details__short-description p {
  color: var(--sw-bright-blue);
  font-weight: 600;
}

.sw_large_desc_img {
  grid-area: 1 / 1 / 1 / 1;
}

.sw_product_info_1_ {
  grid-area: 2 / 1 / 2 / 1;
}

.sw_product_info_2_ {
  grid-area: 3 / 1 / 3 / 1;
}

.sw_pro-tip_img_ {
  grid-area: 4 / 1 / 4 / 3;
}

.sw_product_info_1_,
.sw_product_info_2_ {
  max-width: 50ch;
  width: 100%;
}

.pro-tip_container_ {
  border-radius: 10px;
  background: repeating-linear-gradient(
    135deg,
    var(--sw-white),
    var(--sw-white) 15px,
    #e34ea3 15px,
    #e34ea3 17px
  );
  transform: rotate(-3deg);
}

.pro-tip_container_ div {
  background-color: var(--sw-pink);
  height: 100%;
  border-radius: 10px;
  color: var(--sw-white);
}

.pro-tip_text_ {
  white-space: nowrap;
  font-size: 2.4rem;
  font-family: "Pacifico", cursive;
  transform: rotate(-20deg);
}

/* ---------------------------
    Featured Brands section
------------------------------*/

hr.productDescBottom {
  margin: 50px 0px 25px 0px;
}

.sw_since_99_ p {
  font-size: var(--ct-font-xxl) !important;
  font-weight: 800;
  max-width: 30ch !important;
  width: 100%;
}

.sw_since_99_ p {
  color: #666;
}

@media (min-width: 481px) {
  .product_title_ {
    font-size: 3rem !important;
  }

  .product_subtitle_ {
    font-size: 1.1rem !important;
  }
}

@media (min-width: 768px) {
  .product_title_ {
    font-size: 3.5rem !important;
  }

  .product_subtitle_ {
    font-size: 1.2rem !important;
  }

  .purchase_products_info_ .order_within_message_ {
    font-size: 0.9rem;
  }

  .product_desc_grid_layout {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
  }

  .sw_large_desc_img_ {
    grid-area: 1 / 1 / 4 / 1;
  }

  .sw_product_info_1_ {
    grid-area: 1 / 2 / 1 / 2;
  }

  .sw_product_info_2_ {
    grid-area: 2 / 2 / 2 / 2;
  }

  .sw_pro_tip_img_ {
    grid-area: 3 / 1 / 3 / 3;
  }
}

@media (min-width: 992px) {
  .product_title_ {
    font-size: 4rem !important;
  }

  .product_subtitle_ {
    font-size: 1.5rem !important;
  }

  .purchase_products_info_ .order_within_message_ {
    font-size: 1rem;
  }

  .purchase_products_info_ .product_quantity_input_ {
    width: 80px;
  }

  .purchase_products_info_ .add_to_cart_btn_ {
    padding: 15px 60px;
  }
}

@media (min-width: 1200px) {
  .sw_pro-tip_img_ {
    grid-area: 3 / 2 / 3 / 2;
  }
}

/* ------------------
    CMS Container
---------------------*/

.blank_container_page_content_ {
  max-width: 120ch;
  margin: 0 auto;
  padding: 20px;
}

/* ACF Layouts */
.twoCol-halfCircle-section {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  position: relative;
  padding-top: 50px;
  background-image: url(/wp-content/themes/shewee/img/acf-2col-half-circle-bg.webp);
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-size: cover;

  & > .halfCircleContent {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    & > div {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 0px 15px 50px 15px;
      max-width: 75ch;
      margin: 0 auto;
    }
  }

  & > .halfCircleImage {
    display: flex;
    justify-content: center;
    padding-bottom: 50px;
    border-radius: 0 100% 0 0;

    img {
      animation: bobbingAnimation 1s infinite alternate;
    }
  }

  & > .section_arrow_head_ {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    &::after {
      border-top: 25px solid currentColor;
    }
  }

  @media (min-width: 1200px) {
    & {
      grid-template-columns: 1.5fr 1fr;
      padding-top: 100px;

      & > .halfCircleContent {
        & > div {
          max-width: 55ch;
          padding: 0px 15px 100px 15px;
        }
      }

      & > .halfCircleImage {
        padding-bottom: 100px;
      }
    }
  }
}

.twoCol-halfCircle-section-left {
  background-position: right;

  @media (min-width: 768px) {
    & {
      background-position: unset;
    }
  }
  @media (min-width: 1200px) {
    & {
      .halfCircleImage {
        order: -1;
      }
    }
  }
}

.twoCol-halfCircle-section-right {
  & > .halfCircleImage {
    display: flex;
    justify-content: center;
    padding-bottom: 100px;
    border-radius: 100% 0 0 0;
  }

  @media (min-width: 1200px) {
    & {
      grid-template-columns: 1fr 1.5fr;
    }
  }
}

.entry-content div:last-of-type:has(.section_arrow_head_) {
  .section_arrow_head_ {
    display: none;
  }
}

.since-1999-breaker-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 50px 0px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  color: white;

  & > div:nth-of-type(1) {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    padding: 50px 15px;
    background: linear-gradient(
      to bottom,
      transparent,
      rgba(0, 0, 0, 0.5) 15%,
      rgba(0, 0, 0, 0.5) 90%,
      transparent
    );

    a {
      font-weight: 600;
      color: var(--sw-light-blue);
    }
  }

  & > .section_arrow_head_ {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    &::after {
      border-top: 25px solid white;
    }
  }

  @media (min-width: 1200px) {
    & {
      padding: 100px 0px;

      & > div:nth-of-type(1) {
        padding: 100px 15px;

        p {
          max-width: 45ch !important;
        }
      }
    }
  }
}

.cmsSeperatorLine {
  border: none;
  border-top: 10px dotted var(--sw-bright-blue);
  margin: 50px auto;
  max-width: 200px;

  @media (min-width: 992px) {
    margin: 75px auto;
  }
}

/* Text Heavy Pages */

.page-faqs,
.page-delivery-information,
.page-privacy-policy-2,
.page-terms-conditions,
.page-returns-refunds,
.page-global-partners,
.page-stockists,
.page-our-history,
.page-source-of-components {
  .entry-content {
    padding: 50px 15px;
  }

  @media (min-width: 992px) {
    .entry-content {
      padding: 100px 15px;
    }
  }
}

/* GLOBAL PARTNERS */

.globalPartnersSection {
  display: grid;
  grid-template-columns: 1fr;

  .globalPartner {
    text-align: center;
    max-width: 40ch;
    height: 100%;
    margin: 0 auto 100px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    & > a {
      margin: 0 auto !important;
    }
  }

  @media (min-width: 768px) {
    & {
      grid-template-columns: 1fr 1fr;

      & > img:nth-of-type(1) {
        grid-area: 1 / span 2;
        margin: 0 auto;
      }

      .globalPartner {
        justify-content: end;
      }

      .globalPartner:last-of-type {
        grid-area: 4 / span 2;
      }
    }
  }

  @media (min-width: 1200px) {
    & {
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
      grid-template-rows: auto auto auto;

      & > img:nth-of-type(1) {
        grid-area: 2 / 3 / 2 / 5;
      }

      .globalPartner {
        justify-content: center;
      }

      .globalPartner:nth-of-type(1) {
        grid-area: 1 / 2 / 1 / 4;
      }

      .globalPartner:nth-of-type(2) {
        grid-area: 1 / 4 / 1 / 6;
      }

      .globalPartner:nth-of-type(3) {
        grid-area: 2 / 1 / 2 / 3;
      }

      .globalPartner:nth-of-type(4) {
        grid-area: 2 / 5 / 2 / 7;
      }

      .globalPartner:nth-of-type(5) {
        grid-area: 3 / 3 / 3 / 5;
      }
    }
  }
}

/* How to use */

.howToUsePage {
  h3 {
    padding: 10px 20px;
    background-color: var(--sw-bright-blue);
    color: white;
    width: fit-content;
    border-radius: 50px;
  }
}

/* Stockists */
#asl-storelocator.storelocator-main.asl-cont {
  box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
  max-width: 1400px !important;
  margin: 0 auto;

  .sl-container {
    margin: 0px;
    width: 100%;
    max-width: 100%;
  }

  .search_filter {
    label {
      font-size: 1.2rem !important;
    }
  }
}

/* FAQ page */
.cmsContainer {
  max-width: 100ch;
  margin: 0 auto;
}

.fadeUpInView {
  transition: all 0.6s;
  opacity: 0;
  transform: translateY(20px);

  &.inview {
    opacity: 1;
    transform: none;
  }
}

.fadeInRight {
  transition: all 0.6s;
  opacity: 0;
  transform: translateX(80px);

  &.inview {
    opacity: 1;
    transform: none;
  }
}

.fadeInLeft {
  transition: all 0.6s;
  opacity: 0;
  transform: translateX(-80px);

  &.inview {
    opacity: 1;
    transform: none;
  }
}

/* Basket */

.page-basket {
  .entry-content {
    padding: 50px 15px;

    @media (max-width: 767px) {
      .woocommerce-cart-form {
        & > table.shop_table {
          & > tbody {
            & > tr:not(:last-of-type) {
              display: grid;
              grid-template-columns: 1.5fr 1fr 1fr;
              border-bottom: 1px solid rgba(0, 0, 0, 0.1);

              & > .product-thumbnail::before,
              & > .product-name::before,
              & > .product-price::before,
              & > .product-quantity::before,
              & > .product-subtotal::before,
              & > .product-remove {
                display: none;
              }

              .product-thumbnail {
                display: block !important;
                border: none;
                & > a {
                  display: flex;

                  & > img {
                    max-width: 150px;
                    width: 100%;
                    margin: 0 auto;
                  }
                }
              }

              .product-name {
                grid-area: 1 / 2 / 1 / 4;
                border-top: none;
                border-left: 1px solid rgba(0, 0, 0, 0.1);

                & > a {
                  font-weight: 600;
                  font-size: clamp(1rem, 5vw, 1.1rem);
                  text-align: left;
                }
              }

              .product-price {
                display: none;
              }

              .product-quantity {
                grid-area: 2 / 1 / 2 / 1;
                padding: 15px 10px;

                & > .quantity {
                  width: 100%;
                  max-width: 150px;
                  margin: 0 auto;
                }
              }

              .product-subtotal {
                border-right: 1px solid rgba(0, 0, 0, 0.1);
                border-left: 1px solid rgba(0, 0, 0, 0.1);
              }

              .product-name,
              .product-quantity,
              .product-subtotal,
              .product-remove {
                display: flex;
                justify-content: center;
                align-items: center;
              }
            }

            tr:nth-child(2n) > * {
              background-color: white !important;
            }

            tr.cart_item:last-of-type {
              border-bottom: none;
            }
          }
        }
      }
    }

    @media (min-width: 768px) {
        & {
            .woocommerce-cart-form {
                & > table.shop_table {
                  & > tbody {
                    & > tr:not(:last-of-type) {
                        .product-thumbnail {
                            & > a {
                                & > img {
                                    width: clamp(40px, 6vw, 100px);
                                }
                            }
                        }
                    }
                  }
                }
              }

              .cart-collaterals {
                display: flex;
                justify-content: flex-start;
                & > .cart_totals {

                }
              }
        }
    }

    @media (min-width: 992px) {
        & {
            .woocommerce-cart-form {
                & > table.shop_table {
                  & > tbody {
                    & > tr:not(:last-of-type) {
                        .product-thumbnail {
                            & > a {
                                & > img {
                                    width: clamp(40px, 10vw, 150px);
                                }
                            }
                        }
                    }
                  }
                }
              }
        }
    }

    @media (min-width: 1200px) {
        & {
            padding: 100px 15px;
            .woocommerce {
                display: grid;
                grid-template-columns: 2fr 1fr;
                grid-template-rows: auto auto;
                gap: 20px;
    
                & > div:first-of-type {
                    grid-area: 1 / 1 / 1 / 3;
                }
    
                & > .woocommerce-cart-form {
                    & > table.shop_table {
                        & > thead > tr {
                            .product-thumbnail {
                                width: 200px;
                            }
    
                            .product-name {
                                width: clamp(165px, 16vw, 300px);
                            }
                        }
                    }
                }
    
                & > .cart-collaterals {
                    & > .cart_totals {
                        width: 100%;
                    }
                }
            }
        }
      }
    
      @media (min-width: 1400px) {
        & {
            .woocommerce {
                max-width: 1600px;
                margin: 0 auto;
                gap: 40px;
            }
        }
      }

  }


  .entry-content:has(.wc-empty-cart-message) {
    max-width: 100ch;
    margin: 0 auto;
  }
}

/*---------
    CMS
-----------*/
.cmsHeader {
  background: linear-gradient(-45deg, #73c2fb, #6593f5, #0080ff, #89cff0);
  background-size: 400% 400%;
  animation: gradient 30s ease infinite;
}

.smallHeader {
  position: relative;

  &::before {
    content: "";
    position: absolute;
    width: 100%;
    bottom: 0px;
    height: 10px;
    background: linear-gradient(
      to bottom,
      transparent,
      transparent 10%,
      rgba(255, 255, 255, 0.4) 100%
    );
    z-index: 1;
  }
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.cmsTitle {
  & {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px;
  }
  & > h1 {
    color: white;
    font-size: clamp(2.5rem, 10vw, 4.5rem);
  }
}

.cmsDotPattern {
  background-image: radial-gradient(rgba(0, 0, 0, 0.1) 2px, transparent 2px);
  background-size: calc(9 * 2px) calc(9 * 2px);
  height: 50px;
  width: 100%;
}

@media (min-width: 992px) {
  .cmsTitle {
    & {
      padding: 75px;
    }
  }
}

.page-template-cms-page {
  .entry-content {
    h1 {
      font-size: clamp(2.5rem, 11vw, 3.5rem);
    }

    h2 {
      font-size: clamp(2.25rem, 10vw, 3.25rem);
    }

    h3 {
      font-size: clamp(2rem, 9vw, 3rem);
    }

    h4 {
      font-size: clamp(1.75rem, 8vw, 2.75rem);
    }

    h5 {
      font-size: clamp(1.5rem, 7vw, 2.5rem);
    }

    p,
    li {
      font-size: clamp(1rem, 4vw, 1.3rem);
    }

    ul,
    ol {
      padding-left: 15px;
    }

    p,
    ul,
    ol {
      margin-bottom: 2rem;
    }
  }
}

/*------------
    HomePage
--------------*/

.page-template-homepage {
  #masthead {
    #bootscore-navbar {
      .nav-link,
      .dropdown-item {
        @media (min-width: 1400px) {
          text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
        }
      }
    }
  }

  footer {
    margin-top: 50px;

    @media (min-width: 992px) {
      margin-top: 100px;
    }
  }
}

.page-template-homepage,
.product-template-default {
  #masthead {
    position: absolute;
    width: 100%;
    background: transparent;
  }
}

.homeHeaderVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.homeContainer {
  max-width: 1800px;
  margin: 0 auto;
  padding: 0px 15px;
}

.brand-carousel {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin: 60px 15px 0px 15px;
  container-type: inline-size;
}

.homeBrandContainer {
  container-type: inline-size;
}

@container (min-width: 1800px) {
  .homeContainer.brand-carousel {
    margin: 100px auto 0 auto;
  }
}
.waveSvg {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 30px;
  margin: 0;
  z-index: 5;
  bottom: 0;
  position: absolute;
  left: 0px;
  float: left;
}

.waveSvg.wave2 {
  bottom: -30px;
  transform: rotate(180deg);
}

.parallax1 > use {
  animation: move-forever1 10s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }

  fill: #caf0f8;
}
.parallax2 > use {
  animation: move-forever2 8s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
  fill: #ade8f4;
}
.parallax3 > use {
  animation: move-forever3 6s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
  fill: #90e0ef;
}
.parallax4 > use {
  animation: move-forever4 4s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
  fill: #48cae4;
}
@keyframes move-forever1 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}
@keyframes move-forever2 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}
@keyframes move-forever3 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}
@keyframes move-forever4 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}

.homeTop {
  position: relative;
  min-height: 60vh;

  & > div {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    text-align: center;
    padding: 20px 20px 40px 20px;
    z-index: 1;

    h1 {
      font-size: var(--ct-titleFont-xxl);
    }

    h1,
    h2 {
      color: white;
      text-shadow: 1px 2px 10px rgba(0, 0, 0, 0.6);
    }

    @media (min-width: 768px) {
      & {
        justify-content: center;
        text-align: left;
        padding: 30px;
      }
    }

    @media (min-width: 992px) {
      & {
        padding-left: 60px;
      }
    }

    @media (min-width: 1200px) {
      & {
        h1 {
          font-size: 4rem;
        }
      }
    }
  }

  &::before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    background-image: linear-gradient(
      to bottom right,
      rgba(0, 0, 0, 0.3),
      transparent
    );
    z-index: 1;
  }
}

.howToUseSection {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0px 15px;

  & > div {
    & > h3 {
      color: var(--sw-pink);
    }

    & > h2 {
      color: var(--sw-bright-blue);
    }

    & > ol {
      max-width: 50ch;
      margin-top: 25px;
    }
  }

  @media (min-width: 768px) {
    & {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
    }
  }
}

.sw-2-column-promo {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  min-height: 30vh;
  overflow-x: hidden;

  & > div {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 10px;
    min-height: 30vh;
    position: relative;

    a {
      color: white;
      display: block;
      width: 100%;
      height: 100%;
      padding: 20px;
      border-radius: 10px;
      position: relative;
      z-index: 2;

      & > h2,
      & > h3 {
        text-shadow: 1px 2px 10px rgba(0, 0, 0, 0.6);
      }
    }
  }

  & > div:nth-of-type(1) {
    background-image: url(/wp-content/themes/shewee/img/sw-camping.webp);

    & > a {
      background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.5),
        transparent 40%
      );
    }
  }

  & > div:nth-of-type(2) {
    background-image: url(/wp-content/themes/shewee/img/sw-Oui-Wee.webp);
    text-align: end;

    & > a {
      background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent 40%);
      display: flex;
      flex-direction: column;
      justify-content: end;
    }
  }

  @media (min-width: 576px) {
    & {
      & > div {
        min-height: 35vh;
      }
    }
  }

  @media (min-width: 768px) {
    & {
      grid-template-columns: 1fr 1fr;
      transition-duration: 300ms;

      &:has(div:nth-of-type(1):hover) {
        grid-template-columns: 1.25fr 1fr;
      }

      &:has(div:nth-of-type(2):hover) {
        grid-template-columns: 1fr 1.25fr;
      }

      & > div {
        min-height: 60vh;
      }
    }
  }

  @media (min-width: 992px) {
    & {
      grid-template-columns: 1fr 1fr;
      transition-duration: 300ms;
      margin-top: 100px;
      gap: 40px;

      &:has(div:nth-of-type(1):hover) {
        grid-template-columns: 1.25fr 1fr;
      }

      &:has(div:nth-of-type(2):hover) {
        grid-template-columns: 1fr 1.25fr;
      }

      & > div {
        min-height: 60vh;

        a {
          padding: 40px;
        }
      }
    }
  }
}

.homeAvailableProducts {
  display: grid;
  grid-template-columns: 1fr;
  padding: 10px 15px;
  margin-top: 75px;
  gap: 10px;
  row-gap: 75px;
  & > div {
    border-radius: 10px;

    & > img {
      margin-top: -60px;
      padding: 20px 20px 0px 20px;
    }

    & > div {
      flex-grow: 1;
      width: 100%;

      & > h3 {
        width: 100%;
        margin-bottom: 0px !important;
        font-size: 2rem;
      }
      & > div {
        width: 100%;
        border-radius: 0px 0px 10px 10px;

        & > hr {
          width: 100%;
          margin: 15px 0px;
        }

        & > a {
          &::before,
          &::after,
          & > button::before,
          & > button::after {
            background: white !important;
          }
          & > button {
            background-color: rgba(0, 0, 0, 0.2) !important;
          }
        }
      }
    }
  }

  & > div:nth-of-type(1) {
    background-color: rgba(128, 209, 254, 0.5);

    & > div > div,
    & > div > h3 > svg > path {
      fill: rgba(128, 209, 254, 0.3);
      background-color: rgba(128, 209, 254, 0.3);
    }
  }

  & > div:nth-of-type(2) {
    background-color: rgba(199, 148, 204, 0.5);

    & > div > div,
    & > div > h3 > svg > path {
      fill: rgba(199, 148, 204, 0.3);
      background-color: rgba(199, 148, 204, 0.3);
    }
  }

  & > div:nth-of-type(3) {
    background-color: rgba(87, 108, 77, 0.4);

    & > div > div,
    & > div > h3 > svg > path {
      fill: rgba(87, 108, 77, 0.2);
      background-color: rgba(87, 108, 77, 0.2);
    }
  }

  & > div:nth-of-type(4) {
    background-color: rgba(251, 135, 26, 0.5);

    & > div > div,
    & > div > h3 > svg > path {
      fill: rgba(251, 135, 26, 0.3);
      background-color: rgba(251, 135, 26, 0.3);
    }
  }

  @media (min-width: 576px) {
    & {
      grid-template-columns: 1fr 1fr;

      & > div {
        & > img {
          max-height: 250px;
        }
      }
    }
  }

  @media (min-width: 992px) {
    & {
      gap: 20px;
      row-gap: 75px;
      margin-top: 100px;
    }
  }

  @media (min-width: 1200px) {
    & {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  @media (min-width: 1400px) {
    & {
      gap: 40px;
    }
  }
}

.homeFlexiVExtreme {
  /*background-color: rgba(128, 209, 254, 0.7);*/
  padding: 60px 15px 0px 15px;
  overflow: hidden;

  &:has(.swVsCheckbox:checked) {
    /* background-color: rgba(199, 148, 204, 0.7);*/
  }

  & > h2 {
    font-size: var(--ct-titleFont-h1);
  }

  .vsFlexiTab {
    display: grid;
    animation-name: vsFlexi;
    animation-duration: 300ms;

    & > div:nth-of-type(1)::before {
      background-image: url(/wp-content/themes/shewee/img/abstract-bg-2.webp);
    }
  }

  .vsExtremeTab {
    display: none;

    & > div:nth-of-type(1)::before {
      background-image: url(/wp-content/themes/shewee/img/abstract-bg-pink-2.webp);
    }
  }

  .vsExtremeTab,
  .vsFlexiTab {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 10px;

    & > div:nth-of-type(1) {
      background-position: center;
      background-size: cover;
      min-height: 40vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      grid-area: 1 / span 2;
      max-width: 500px;
      margin: 15px auto;
      padding: 40px 0px;
      position: relative;

      & > img {
        animation: bobbingAnimation 1s infinite alternate;
      }
    }

    & > div:nth-of-type(1)::before {
      content: "";
      background-position: center;
      background-size: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      animation: spinInfinite 30s linear infinite;
    }

    & > .vsIcons {
      & > p {
        font-size: var(--ct-font-md) !important;
        font-weight: 600;
      }
    }

    @media (min-width: 992px) {
      & {
        margin-top: 60px;
        grid-template-columns: 1fr 1.5fr 1fr;

        div:nth-of-type(1) {
          grid-area: span 2 / 2;
          max-width: unset;
          padding: 50px 0px 0px 0px;
        }

        div:nth-of-type(2) {
          grid-area: 1;
        }
      }
    }
  }

  &:has(.swVsCheckbox:checked) {
    .vsFlexiTab {
      display: none;
    }

    .vsExtremeTab {
      display: grid;
      animation-name: vsExtreme;
      animation-duration: 300ms;
    }
  }

  @media (min-width: 992px) {
    & {
      padding: 100px 15px;
    }
  }
}

@keyframes spinInfinite {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes bobbingAnimation {
  0% {
    transform: translateY(0px);
  }

  100% {
    transform: translateY(-10px);
  }
}

@keyframes vsExtreme {
  0% {
    transform: translateX(-200px);
  }

  100% {
    transform: none;
  }
}

@keyframes vsFlexi {
  0% {
    transform: translateX(200px);
  }

  100% {
    transform: none;
  }
}

.swVsContainer {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 300px;
  border-radius: 20px;
  background: #343434;
  font-weight: bold;
  color: #343434;
  cursor: pointer;
}

.swVsCheckbox + .swVsContainer {
  background: var(--sw-bright-blue);
  border: 4px solid var(--sw-bright-blue);
}

.swVsCheckbox:checked + .swVsContainer {
  background: var(--sw-pink);
  border: 4px solid var(--sw-pink);
}

.swVsContainer::before {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  left: 0%;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.4);
  transition: all 0.3s;
}
.swVsCheckbox:checked + .swVsContainer::before {
  left: 50%;
}
.swVsContainer div {
  padding: 6px;
  text-align: center;
  z-index: 1;
  font-size: 1.2rem;
}
.swVsCheckbox {
  display: none;
}
.swVsCheckbox + .swVsContainer div:first-child {
  color: white;
  transition: color 0.3s;
}
.swVsCheckbox + .swVsContainer div:last-child {
  color: white;
  transition: color 0.3s;
}
.swVsCheckbox:checked + .swVsContainer div:first-child {
  color: white;
  transition: color 0.3s;
}
.swVsCheckbox:checked + .swVsContainer div:last-child {
  color: white;
  transition: color 0.3s;
}

/* ----------------
    Category Posts
-------------------*/
.postCategoryContent {
  & {
    padding: 50px 15px;
  }

  @media (min-width: 992px) {
    & {
      padding: 100px 15px;
    }
  }
}

.categoryPosts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 1400px;
  margin: 0 auto;

  & > .card {
    gap: 20px;
    border: none;
  }

  & > .card {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.1);
    & > .cardImgLink {
      & > img {
        object-fit: unset;
        height: auto;
        border-radius: 10px;
      }
    }

    & > .cardContent {
      .catBadge-and-date {
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      h2 {
        font-size: clamp(1.6rem, 3vw, 2rem);
      }

      .swPrimaryBtn {
        max-width: 250px !important;
        height: 60px;
        font-size: clamp(1rem, 4vw, 1.1rem);

        & > button {
          box-shadow: none;
        }
      }
    }
  }

  .card:first-of-type,
  .card:nth-of-type(2) {
    &::before {
      position: absolute;
      top: -83px;
      left: 0;
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 600;
      width: max-content;
    }

    &::after {
      content: "";
      position: absolute;
      border-bottom: 10px dotted var(--sw-bright-blue);
      max-width: 200px;
      width: 100%;
      opacity: 0.25;
      top: -30px;
      left: 0;
    }
  }

  .card:first-of-type {
    margin: 80px 0 100px 0;
    &::before {
      content: "Featured Article";
    }
  }

  .card:nth-of-type(2) {
    &::before {
      content: "Our Recent Articles";
    }
  }

  @media (min-width: 768px) {
    & {
      grid-template-columns: 1fr 1fr;

      & > .card:first-of-type {
        grid-area: 1 / 1 / 1 / 3;
        min-height: 50vh;
        background-image: url(/wp-content/themes/shewee/img/acf-2col-half-circle-bg.webp);
        background-blend-mode: multiply;
        background-repeat: no-repeat;
        background-size: cover;
        background-color: white;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
        margin: 100px 0 150px 0;

        &,
        & > .cardImgLink {
          flex-direction: row;

          & > img {
            height: 100%;
            object-fit: cover;
          }
        }

        & > .cardImgLink,
        & > .cardContent {
          width: 50%;
        }

        & > .cardImgLink {
          padding: 20px;
          border: 1px solid rgba(0, 0, 0, 0.1);
          border-radius: 10px;
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
        }

        & > .cardContent {
          padding: 0px 20px;
          display: flex;
          flex-direction: column;
          justify-content: center;
          h2 {
            font-size: clamp(1.6rem, 4vw, 3rem);
          }
        }
      }

      .card:first-of-type,
      .card:nth-of-type(2) {
        &::before {
          top: -120px;
        }

        &::after {
          top: -40px;
        }
      }

      & > .card:not(:first-of-type) {
        & > .cardImgLink {
          flex-grow: 1;
          display: flex;
          justify-content: center;
          align-items: center;
        }
      }
    }
  }

  @media (min-width: 992px) {
    & {
      grid-template-columns: 1fr 1fr 1fr;

      & > .card:first-of-type {
        grid-area: 1 / 1 / 1 / 4;
      }
    }
  }
}

.category-articles,
.articlePage {
  .category-badge {
    & > a {
      background-color: var(--sw-bright-blue) !important;
      color: white !important;
    }
  }
}

/* ----------------
    Article Page
-------------------*/

.articlePage {
  .entry-header {
    height: clamp(400px, 80vw, 700px) !important;

    svg.productCurve {
      filter: drop-shadow(0px -20px 10px rgba(0, 0, 0, 0.2));
    }
  }

  .entry-content {
    max-width: 75ch;
    margin: 0 auto;

    & > p {
      font-size: clamp(1rem, 4vw, 1.1rem);
    }
  }

  @media (min-width: 1400px) {
    & {
      & > div {
        margin-top: -120px;
        z-index: 2;
        position: relative;

        p {
          font-size: clamp(1rem, 5vw, 1.2rem);
        }
      }
    }
  }
}


/* ================
   Column Utilities
===================*/

.one-col {
  max-width: 800px;
  width: 100%;
}

.two-cols {
  position: relative;
  z-index: 1;
}

.two-cols > div > :first-child {
  margin-top: 0;
}

.one-col,
.two-cols,
.three-cols,
.four-cols {
  display: grid;
  grid-template-columns: 1fr;
}

.column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 15px;
}

.column > * {
  margin: 0 !important;
}

.textColumn .btnsContainer {
  margin-top: 15px !important;
}

.textColumn .ctaPillContainer {
  justify-content: flex-start;
  margin-top: 20px;
}

.mediaColumn {
  align-items: center;
}

@media (min-width: 640px) {
  .two-cols,
  .three-cols,
  .four-cols {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .three-cols,
  .four-cols {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (min-width: 1200px) {
  .four-cols {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}


/* =====================
   Gap spacing Utilities
========================*/

/* Gap col & row */
.gap-sm {
  gap: var(--g-01);
}

.gap-md {
  gap: var(--g-02);
}

.gap-lg {
  gap: var(--g-03);
}

.gap-xl {
  gap: var(--g-04);
}

.gap-2xl {
  gap: var(--g-05);
}

/* Gap col */
.col-gap-sm {
  column-gap: var(--g-01);
}

.col-gap-md {
  column-gap: var(--g-02);
}

.col-gap-lg {
  column-gap: var(--g-03);
}

.col-gap-xl {
  column-gap: var(--g-04);
}

.col-gap-2xl {
  column-gap: var(--g-05);
}

/* Gap row */
.row-gap-sm {
  row-gap: var(--g-01);
}

.row-gap-md {
  row-gap: var(--g-02);
}

.row-gap-lg {
  row-gap: var(--g-03);
}

.row-gap-xl {
  row-gap: var(--g-04);
}

.row-gap-2xl {
  row-gap: var(--g-05);
}

/* ===============
   Order Utilities
==================*/

/* Base (all sizes) */
.custom-order-0 {
  order: 0;
}
.custom-order-1 {
  order: 1;
}
.custom-order-2 {
  order: 2;
}
.custom-order-3 {
  order: 3;
}

/* ≥640px */
@media (min-width: 640px) {
  .sm-custom-order-0 {
    order: 0;
  }
  .sm-custom-order-1 {
    order: 1;
  }
  .sm-custom-order-2 {
    order: 2;
  }
  .sm-custom-order-3 {
    order: 3;
  }
}

/* ≥1024px */
@media (min-width: 1024px) {
  .lg-custom-order-0 {
    order: 0;
  }
  .lg-custom-order-1 {
    order: 1;
  }
  .lg-custom-order-2 {
    order: 2;
  }
  .lg-custom-order-3 {
    order: 3;
  }
}

/* ≥1200px */
@media (min-width: 1200px) {
  .xl-custom-order-0 {
    order: 0;
  }
  .xl-custom-order-1 {
    order: 1;
  }
  .xl-custom-order-2 {
    order: 2;
  }
  .xl-custom-order-3 {
    order: 3;
  }
}

/* ===============
   Image utilities
==================*/
.img-border-white-full,
.img-border-white-50 {
  border: clamp(10px, 1vw, 15px) solid;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
}

.img-border-white-full {
  border-color: white;
}

.img-border-white-50 {
  border-color: rgba(255, 255, 255, 0.5);
}

.singleMedia {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.imgContainer > img,
.imgContainer > iframe {
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%;
}

/* =======================
   Border Radius utilities
==========================*/

.radius-20 {
  border-radius: 20px;
  aspect-ratio: 16 / 10;
}

.radius-circle {
  max-width: 80%;
}

.radius-20 > img,
.radius-20 > iframe {
  border-radius: 0;
}

.radius-circle,
.radius-circle > img {
  border-radius: 100%;
  aspect-ratio: 1 / 1;
}

.radius-tl,
.radius-tl > img {
  border-radius: 40px 0 0 0;
}

.radius-tr,
.radius-tr > img {
  border-radius: 0 40px 0 0;
}

.radius-tl,
.radius-tl > img,
.radius-tr,
.radius-tr > img {
  aspect-ratio: 4/3;
}

.section-radius-top {
  border-radius: clamp(40px, 5vw, 80px) clamp(40px, 5vw, 80px) 0 0;
}

.section-radius-bottom {
  border-radius: 0 0 clamp(40px, 5vw, 80px) clamp(40px, 5vw, 80px);
}

/* =======================
   Media Fitting Utilities
==========================*/
.media-cover,
.media-cover > img {
  object-fit: cover;
}

.media-contain,
.media-contain > img {
  object-fit: contain;
}

/* ==========================
   Updated basic product desc
=============================*/
.product_desc_section_ section .one-col {
    margin: 0 auto;
}

.product_desc_section_ > section:first-of-type {
    margin-top: 30px !important;
}

/*------------
    Gravity form
--------------*/
#gform_wrapper_9 {
    max-width: 800px;
    margin: 0 auto;
}

.gform_wrapper .gform_fields {
  row-gap: 25px !important;
}

.gform_wrapper .gfield_label {
  font-weight: 700 !important;
  font-size: var(--body-font-sm) !important;
}

.gform_wrapper input,
.gform_wrapper select,
.gform_wrapper textarea {
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.1) !important;
  min-height: 45px !important;
  border-radius: 5px !important;
}

.gform_wrapper input,
.gform_wrapper textarea {
  padding: 10px !important;
}

.gform_wrapper .gform_button {
  padding: clamp(12px, 1.5vw, 15px) clamp(20px, 3vw, 40px) !important;
  border-radius: var(--pill-radius) !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: var(--body-font-sm) !important;
  font-weight: 700 !important;
  background-color: var(--sw-bright-blue) !important;
  color: white !important;
  border-radius: 5px !important;
  transition-duration: 0.1s !important;
}

.gform_wrapper .gform_button:hover {
    background-color: #0174e5 !important;
}

.gform_wrapper .gform_validation_errors  {
  --gf-form-validation-bg-color: #dc3545 !important;
}

.gform_wrapper .validation_message {
    color: #dc3545 !important;
}

.gform_wrapper .gform_validation_errors h2,
.gform_wrapper .gform_validation_errors h2 span {
  color: white !important;
}

.gform_wrapper .gform_validation_errors h2 span {
  --gf-form-validation-heading-icon-border-color: white;
}

.gform_wrapper .validation_message {
  --gf-local-color: white !important;
}

.gform_wrapper .gform_confirmation_message {
  font-weight: 600;
  text-align: center;
  font-size: 1.2rem;
}

@media (min-width: 768px) {
    .gform_wrapper .gform_button {
        max-width: 300px !important;
        margin-left: auto !important;
    }
}


/* --------
    Footer
-----------*/

.bootscore-footer {
  background-image: url(/wp-content/themes/shewee/img/footer-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 0px;

  @media (min-width: 992px) {
    & {
      padding: 100px 0px;
    }
  }
}

#footer_topper_ {
  background-color: var(--sw-bright-blue);
}

.other_ways_to_buy_ {
  color: var(--sw-white);
}

.footer_widget .menu-item {
  margin: 3px 0px;
}

.footer_widget .menu-item a {
  text-decoration: none;
}

.footer_text_ {
  font-size: 1.3rem !important;
  color: var(--sw-light-pink);
  font-weight: 600;
}

.social_media_icons_ a svg,
.other_ways_to_buy_ img {
  transition-duration: 0.1s;
}

.social_media_icons_ a svg:hover,
.other_ways_to_buy_ img:hover {
  fill: var(--sw-light-blue);
  transform: scale(1.1);
}

.footerAddress,
.footer_phone_num_ {
  font-size: 1.2rem !important;
  color: var(--sw-bright-blue);
}

.footerAddress {
  font-weight: 600;
}

.footer_phone_num_ {
  font-weight: 800;
}

.footerLogo {
  width: 100px;

  @media (min-width: 768px) {
    & {
      width: 125px;
    }
  }
}
