/*---------------------------------------------------------------------------
  WooCommerce Base
---------------------------------------------------------------------------*/

.page-shop,
.woocommerce-page,
body.embedded .page-shop .content-wrap {
  width: 100%;
}

.page-shop {
  width: 100%;
  height: auto;
  position: relative !important;
  justify-content: space-between;
}

@media screen and (min-width: 750px) {
  body:not(.embedded) .page-shop .content-wrap {
    width: calc(100% - 60px);
  }
}

/*---------------------------------------------------------------------------
  Shop Notices
---------------------------------------------------------------------------*/

.notice,
.message {
  padding: 15px;
  border-radius: var(--border-radius-xs);
  background: var(--light-grey);
}

.notice p {
  font-weight: 500;
}

.notice p a {
  text-decoration: underline;
}

.notice-aqua {
  background: rgba(var(--aqua-rgb), 10%);
  border: 1px solid rgba(var(--aqua-rgb), 50%);
}

.notice-green {
  background: rgba(var(--green-rgb), 10%);
  border: 1px solid rgba(var(--green-rgb), 50%);
}

.notice-blue {
  background: rgba(var(--blue-rgb), 10%);
  border: 1px solid rgba(var(--blue-rgb), 50%);
}

.notice-purple {
  background: rgba(var(--purple-rgb), 10%);
  border: 1px solid rgba(var(--purple-rgb), 50%);
}

.notice-pink {
  background: rgba(var(--pink-rgb), 10%);
  border: 1px solid rgba(var(--pink-rgb), 50%);
}

.notice-red {
  background: rgba(var(--red-rgb), 10%);
  border: 1px solid rgba(var(--red-rgb), 50%);
}

.notice-orange {
  background: rgba(var(--orange-rgb), 10%);
  border: 1px solid rgba(var(--orange-rgb), 50%);
}

.notice-yellow {
  background: rgba(var(--yellow-rgb), 10%);
  border: 1px solid rgba(var(--yellow-rgb), 50%);
}

.notice-navy {
  background: var(--navy);
}

.notice-navy * {
  color: var(--white);
}

/* Notice Banners */

.listing-notification-banners > .notice {
  margin-top: 20px !important;
}

/*---------------------------------------------------------------------------
  WooCommerce Tables
---------------------------------------------------------------------------*/

.woocommerce table.shop_table {
  display: block;
  width: 100%;
}

.woocommerce table.shop_table ul,
.woocommerce table.shop_table ol,
.woocommerce table.shop_table li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce table.shop_table .wc-item-meta p,
.woocommerce table.shop_table .wc-item-meta strong {
  width: auto;
  display: inline-block;
}

@media screen and (max-width: 1000px) {
  .woocommerce table.shop_table_responsive tr th {
    display: none !important;
  }

  .woocommerce table.shop_table_responsive tr td {
    display: block;
    position: relative;
    width: 100% !important;
    text-align: left !important;
    border-right: 0;
    border-bottom: 1px solid var(--outline-grey);
  }

  .woocommerce table.shop_table_responsive tr td:last-child {
    border-bottom: 0;
  }

  .woocommerce table.shop_table_responsive tr td[data-title] {
    padding-left: 130px !important;
  }

  .woocommerce table.shop_table_responsive tr td[data-title]:before {
    content: attr(data-title);
    display: block;
    position: absolute;
    left: 15px;
    top: 15px;
    width: 100px !important;
    font-weight: 600;
    color: vaR(--navy);
  }
}

/*---------------------------------------------------------------------------
  Shop Sidebar
---------------------------------------------------------------------------*/

.sidebar-wrap {
  width: 60px;
  top: 0;
  bottom: 0;
  min-height: 700px;
  transition: none;
  z-index: 200;
}

.sidebar-wrap .sidebar-sticky {
  position: sticky;
}

body:not(.embedded) .sidebar-wrap .sidebar-sticky {
  top: var(--header-height);
}

body.is_notice:not(.embedded) .sidebar-wrap .sidebar-sticky {
  top: calc(var(--header-height) + var(--notice-height));
}

body.admin-bar:not(.embedded) .sidebar-sticky {
  top: calc(var(--header-height) + var(--admin-height));
}

body.admin-bar.is_notice:not(.embedded) .sidebar-sticky {
  top: calc(var(--header-height) + var(--admin-height) + var(--notice-height));
}

.sidebar-header {
  padding: 30px 25px;
}

.sidebar-wrap .sidebar-expand {
  position: absolute;
  background: var(--navy);
  width: 300px;
  top: 0;
  bottom: 0;
  margin-left: -240px;
  transition: var(--transition);
}

.sidebar-wrap .sidebar-expand:hover {
  margin-left: 0;
}

.sidebar-wrap ul li,
.sidebar-wrap ul li a {
  position: relative;
}

.sidebar-wrap ul li {
  display: block;
  border-top: 1px solid rgba(var(--white-rgb), 5%);
}

.sidebar-wrap ul li:last-child {
  border-bottom: 1px solid rgba(var(--white-rgb), 5%);
}

.sidebar-wrap ul li a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 600;
  padding: 20px 25px;
  color: var(--white);
  cursor: pointer;
  transition: var(--transition);
}

.sidebar-wrap ul li:hover a,
.sidebar-wrap ul li.current-menu-item a {
  background: var(--aqua);
  color: var(--navy);
}

.sidebar-wrap ul li a svg {
  width: 16px;
  height: 16px;
}

.sidebar-wrap ul li a svg .icon {
  transition: var(--transition);
}

.sidebar-wrap ul li:hover a svg .icon,
.sidebar-wrap ul li.current-menu-item a svg .icon {
  fill: var(--navy);
}

/* Responsive */

@media screen and (max-width: 750px) {
  .content-wrap {
    flex: 1;
  }
  .sidebar-wrap {
    display: none !important;
  }
}

/*---------------------------------------------------------------------------
  Order Page
---------------------------------------------------------------------------*/

/* Navigation */

.section-order-navigation {
  border-bottom: 1px solid rgba(var(--text-grey-rgb), 0.2);
}

.section-order-navigation ul {
  width: 100%;
  display: flex;
  justify-content: center;
}

.section-order-navigation ul > li,
.section-order-navigation ul > li:after,
.section-order-navigation ul > li > a {
  transition: var(--transition);
}

.section-order-navigation ul > li {
  position: relative;
  cursor: pointer;
  flex: 1;
}

.section-order-navigation ul > li:after {
  content: '';
  width: 0;
  height: 5px;
  background: var(--aqua);
  bottom: -1px;
  left: 0;
  right: 0;
  display: block;
  position: absolute;
}

.section-order-navigation ul > li:hover:after,
.section-order-navigation ul > li.current-menu-item:after {
  width: 100%;
}

.section-order-navigation ul > li > a {
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  padding: 30px 50px;
  text-align: center;
  display: block;
}

.section-order-navigation ul > li:not(.current-menu-item, :hover) > a {
  opacity: 50%;
}

.section-order-navigation ul.sub-menu {
  display: none !important;
}

/* Portals Listing */

.section-order-portals .listing-portals.layout-columns-3,
.section-order-portals .listing-portals > .layout-columns-3 {
  gap: 20px;
}

.section-order-portals .item-post .general-content > *:not(:last-child) {
  margin: 0 0 10px !important;
}

.section-order-portals .item-post .image-landscape {
  background: var(--navy);
  border-radius: var(--border-radius-xs);
  overflow: hidden;
}

.section-order-portals .item-post .image-landscape .background-img {
  transition: var(--transition);
}

.section-order-portals .item-post:hover .image-landscape .background-img {
  opacity: 50%;
}

/*---------------------------------------------------------------------------
  Product Listing
---------------------------------------------------------------------------*/

.listing-products.layout-columns-3,
.listing-products > .layout-columns-3 {
  gap: 20px;
}

.item-product {
  padding: 30px;
}

.item-product .image-landscape .background-img {
  background-size: contain;
}

.item-product .general-content > *:not(:last-child) {
  margin: 0 0 5px !important;
}

.item-product h4 {
  margin: 20px 0 !important;
}

.item-product .badge {
  position: absolute;
  right: 5px;
  top: 5px;
  padding: 8px 10px;
  border-radius: 3px;
  color: var(--white);
  background: var(--navy);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 9;
}

.item-product .badge-green {
  color: var(--navy);
  background: var(--green);
}

.item-product .badge-blue {
  color: var(--navy);
  background: var(--blue);
}

.item-product .badge-purple {
  color: var(--navy);
  background: var(--purple);
}

.item-product .badger-pink {
  color: var(--navy);
  background: var(--pink);
}

.item-product .badge-orange {
  color: var(--navy);
  background: var(--orange);
}

.item-product .badge-yellow {
  color: var(--navy);
  background: var(--yellow);
}

.item-product .badge-red {
  background: var(--red);
}

/*---------------------------------------------------------------------------
  Single Product
---------------------------------------------------------------------------*/

/* Meta */

.product-meta > *:not(:last-child) {
  margin-bottom: 20px !important;
}

.single-product ul.table-style li h6 {
  width: 50%;
}

.variation,
.wc-item-meta {
  width: 100%;
}

.variation dd,
.variation dt,
.wc-item-meta dd,
.wc-item-meta dt {
  display: inline-block;
  margin: 0;
}

.variation,
.variation p,
.variation a,
.wc-item-meta,
.wc-item-meta p,
.wc-item-meta a {
  margin: 0;
  font-size: 12px;
}

.variation dt,
.wc-item-meta dt {
  font-weight: 600;
}

.variation strong,
.wc-item-meta strong {
  font-weight: 500;
}

/* Resource PDFs */

ul.product-pdfs li:not(:first-child),
ul.product-pdfs li ul li {
  margin-top: 10px;
}

ul.product-pdfs ul.dropdown-list {
  display: none;
  margin-left: 25px;
}

ul.product-pdfs .dropdown-open ul.dropdown-list {
  display: block;
}

/* Icons */

.product-terpenes .item-icon p {
  margin-top: 10px;
}

@media screen and (min-width: 500px) {
  .product-effects .listing-icons.layout-columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Gallery */

.product-gallery .swiper-slide {
  width: 100%;
  aspect-ratio: 1 / 1;
}

.product-gallery .swiper-slide img {
  width: 100%;
  height: 100%;
  padding: 30px;
  object-fit: contain;
}

.product-gallery .single-product-slider {
  overflow: hidden;
  border: 1px solid var(--outline-grey);
  position: relative;
}

.product-gallery .swiper-slide .button-icon {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

/* Strains */

.strain-group,
.button-strain {
  display: flex;
  align-items: center;
  gap: 10px;
}

.strain-group {
  flex-wrap: wrap;
}

.button-strain {
  margin: 0 !important;
  outline: 0 !important;
  border: 2px solid var(--outline-grey) !important;
  justify-content: center;
  border-radius: var(--border-radius-xs) !important;
  background: transparent;
  padding: 15px 25px !important;
  color: var(--text-grey) !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  position: relative !important;
}

.button-strain svg .icon {
  fill: var(--text-grey);
}

.button-strain.strain-indica,
.button-strain.strain-indica_dom {
  border-color: rgba(var(--purple-rgb), 0.25) !important;
  color: var(--purple) !important;
}

.button-strain.strain-indica svg .icon,
.button-strain.strain-indica_dom svg .icon {
  fill: var(--purple);
}

.button-strain.strain-sativa,
.button-strain.strain-sativa_dom {
  border-color: rgba(var(--orange-rgb), 0.25) !important;
  color: var(--orange) !important;
}

.button-strain.strain-sativa svg .icon,
.button-strain.strain-sativa_dom svg .icon {
  fill: var(--orange);
}

.button-strain.strain-balanced {
  border-color: rgba(var(--blue-rgb), 0.25) !important;
  color: var(--blue) !important;
}

.button-strain.strain-balanced svg .icon {
  fill: var(--blue);
}

/* Cannabinoid Levels */

.cannabinoid-levels {
  display: flex;
  justify-content: space-between;
  gap: 5px;
}

.cannabinoid-levels h6 {
  line-height: 22px;
  text-align: center;
}

.cannabinoid-levels .level:last-child h6 {
  text-align: right;
}

.cannabinoid-levels .level:first-child h6 {
  text-align: left;
}

.cannabinoid-levels .level {
  width: 100%;
  min-width: max-content;
  position: relative;
}

.cannabinoid-levels .level .bar-wrap,
.cannabinoid-levels .level .bar {
  height: 8px;
  border-radius: 8px;
  display: block;
}

.cannabinoid-levels .level .bar-wrap,
.cannabinoid-levels .level-navy .bar-wrap {
  background: rgba(var(--navy-rgb), 0.1);
}

.cannabinoid-levels .level .bar,
.cannabinoid-levels .level-navy .bar {
  position: absolute;
  background: var(--navy);
}

.cannabinoid-levels .level-aqua .bar-wrap {
  background: rgba(var(--aqua-rgb), 0.1);
}

.cannabinoid-levels .level-aqua .bar {
  background: var(--aqua);
}

.cannabinoid-levels .level-green .bar-wrap {
  background: rgba(var(--green-rgb), 0.1);
}

.cannabinoid-levels .level-green .bar {
  background: var(--green);
}

.cannabinoid-levels .level-blue .bar-wrap {
  background: rgba(var(--blue-rgb), 0.1);
}

.cannabinoid-levels .level-blue .bar {
  background: var(--blue);
}

.cannabinoid-levels .level-purple .bar-wrap {
  background: rgba(var(--purple-rgb), 0.1);
}

.cannabinoid-levels .level-purple .bar {
  background: var(--purple);
}

.cannabinoid-levels .level-pink .bar-wrap {
  background: rgba(var(--pink-rgb), 0.1);
}

.cannabinoid-levels .level-pink .bar {
  background: var(--pink);
}

.cannabinoid-levels .level-red .bar-wrap {
  background: rgba(var(--red-rgb), 0.1);
}

.cannabinoid-levels .level-red .bar {
  background: var(--red);
}

.cannabinoid-levels .level-orange .bar-wrap {
  background: rgba(var(--orange-rgb), 0.1);
}

.cannabinoid-levels .level-orange .bar {
  background: var(--orange);
}

.cannabinoid-levels .level-yellow .bar-wrap {
  background: rgba(var(--yellow-rgb), 0.1);
}

.cannabinoid-levels .level-yellow .bar {
  background: var(--yellow);
}

/*---------------------------------------------------------------------------
  WooCommerce Account
---------------------------------------------------------------------------*/

.woocommerce-account .profile-contact h5,
.woocommerce-account .profile-contact h5 a {
  font-weight: 500;
  color: var(--navy);
  text-decoration: none;
}

.woocommerce-account .profile-contact h5 {
  gap: 10px;
}

.woocommerce-account .profile-contact svg .icon {
  fill: var(--aqua);
}

.woocommerce-account .woocommerce-order-details {
  margin: 20px 0 !important;
}

.woocommerce-account .woocommerce-Address-title {
  position: relative;
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-customer-details {
  display: none;
}

/* Order Status */

.woocommerce-account .notice-status {
  padding: 15px 20px;
  color: var(--text-grey);
  border: 1px solid rgba(var(--text-grey-rgb), 50%);
  background: var(--light-grey) !important;
  border-radius: var(--border-radius-xs);
  font-weight: 600;
  text-align: center;
}

.woocommerce-account .status-completed {
  color: var(--green);
  background: rgba(var(--green-rgb), 10%) !important;
  border-color: rgba(var(--green-rgb), 50%);
}

.woocommerce-account .status-ready-to-ship {
  color: var(--blue);
  background: rgba(var(--blue-rgb), 10%) !important;
  border-color: rgba(var(--blue-rgb), 50%);
}

.woocommerce-account .status-processing {
  color: var(--purple);
  background: rgba(var(--purple-rgb), 10%) !important;
  border-color: rgba(var(--purple-rgb), 50%);
}

.woocommerce-account .status-updating,
.woocommerce-account .status-pending {
  color: var(--yellow);
  background: rgba(var(--yellow-rgb), 10%) !important;
  border-color: rgba(var(--yellow-rgb), 50%);
}

.woocommerce-account .status-on-hold {
  color: var(--orange);
  background: rgba(var(--orange-rgb), 10%) !important;
  border-color: rgba(var(--orange-rgb), 50%);
}

.woocommerce-account .status-failed {
  color: var(--red);
  background: rgba(var(--red-rgb), 10%) !important;
  border-color: rgba(var(--red-rgb), 50%);
}

/*---------------------------------------------------------------------------
  WooCommerce Cart
---------------------------------------------------------------------------*/

.woocommerce-cart .woocommerce-cart-form .product-remove {
  width: 80px;
  text-align: center;
}

.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
  font-size: 20px !important;
  text-decoration: none !important;
}

.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover {
  color: var(--red);
}

.woocommerce-cart .woocommerce-cart-form .product-name > a {
  color: var(--navy);
  font-weight: 600;
  text-decoration: none !important;
}

.woocommerce-cart .woocommerce-cart-form .product-quantity {
  width: 200px;
}

.woocommerce-cart .woocommerce-cart-form .product-thumbnail {
  display: none;
}

.woocommerce-cart .woocommerce-cart-form .variation * {
  font-size: 13px !important;
}

.woocommerce-cart .woocommerce-cart-form .variation p {
  margin: 10px 0 0 0 !important;
}

.woocommerce-cart .woocommerce-cart-form button[name='update_cart'] {
  max-width: 230px;
}

.woocommerce-cart .cart-collaterals h2 {
  margin: 60px 0 20px !important;
}

.woocommerce-cart .cart-collaterals .checkout-button {
  display: inline-block !important;
  margin-top: 20px !important;
}

/* Responsive */

@media screen and (max-width: 1000px) {
  .woocommerce-cart .woocommerce-cart-form button[name='update_cart'] {
    max-width: 100%;
  }
}

/*---------------------------------------------------------------------------
  WooCommerce Checkout
---------------------------------------------------------------------------*/

.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  gap: 15px;
}

.woocommerce-checkout h3:not(#ship-to-different-address) {
  margin: 30px 0 20px !important;
}

.woocommerce-checkout h3:not(#ship-to-different-address):first-child {
  margin-top: 0 !important;
}

.woocommerce-checkout .form-row.terms-checkbox .checkbox {
  display: flex !important;
}

.woocommerce-checkout .woocommerce-checkout-payment ul.methods {
  display: none !important;
}

.woocommerce-checkout .place-order {
  margin-top: 20px !important;
}

.woocommerce-checkout table.shop_table ul.woocommerce-shipping-methods * {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* .woocommerce .woocommerce-order-details__title,
.woocommerce .woocommerce-customer-details,
.woocommerce .variation-BODFreeProduct,
.woocommerce .variation-BODDiscountedProduct,
.woocommerce .variation-MaxDailyDose,
.woocommerce .variation-MBMAPNumberExpiry,
.woocommerce .variation-PrescribingDrClinic,
.woocommerce .variation-PatientInitials,
.woocommerce .variation-QuantityLimit,
.woocommerce .variation-ShortExpiry,
.woocommerce #postage_carrier_field {
  display: none;
} */

/*---------------------------------------------------------------------------
  User Permissions
---------------------------------------------------------------------------*/

.is_doctor .section-order-portals .item-post.bulk-products,
.is_doctor .section-order-naviagtion .bulk-products,
.is_patient .section-order-portals .item-post.bulk-products,
.is_patient .section-order-naviagtion .bulk-products,
.is_patient header.shop-header .main-menu .button,
.is_patient .sidebar-wrap ul li.icon-history {
  display: none !important;
}

/*---------------------------------------------------------------------------
  Product Table
---------------------------------------------------------------------------*/

.section-product-table {
  scroll-margin-top: 200px;
}

.section-product-table .layout-columns-1 {
  gap: 60px;
}

/* Background Shape */

.section-product-table .background-shape {
  position: absolute;
  width: 250px;
  height: 600px;
  top: 60px;
  overflow: hidden;
}

.section-product-table.row-odd .background-shape {
  right: 0;
  left: auto;
}

.section-product-table.row-even .background-shape {
  transform: rotate(-180deg);
  transform-origin: center;
  right: auto;
  left: 0;
}

/* Feature Products */

.section-product-table .item-hover:after {
  display: none !important;
}

.section-product-table .item-product {
  display: flex;
  flex-direction: column;
}

.section-product-table .item-product .button {
  margin: auto 0 0 !important;
}

/* Table */

.product-table {
  overflow-x: scroll;
}

.product-table table {
  min-width: 1200px;
}

.product-table .button-icon {
  margin-right: 20px;
}

/* Product Name */

.product-table *[data-name='product'] {
  max-width: 300px;
}

.product-table .product-name p:not(:last-child) {
  margin: 0 0 5px !important;
}

.product-table .product-name p.brand-name {
  font-size: 10px;
}

/* Cannabinoid Levels */

.product-table .cannabinoid-levels {
  width: 170px;
}

.product-table .cannabinoid-levels:not(:last-child) {
  margin: 0 0 10px;
}

.product-table .cannabinoid-levels h6 {
  line-height: 1 !important;
  font-size: 8px !important;
  margin-top: 5px;
}

.product-table .cannabinoid-levels .level .bar-wrap,
.product-table .cannabinoid-levels .level .bar {
  height: 5px;
  border-radius: 5px;
}

/* Responsive */

@media screen and (max-width: 750px) {
  .section-product-table {
    scroll-margin-top: 300px;
  }

  .section-product-table .swiper-wrapper {
    display: flex;
    align-items: stretch;
  }

  .section-product-table .swiper-wrapper .swiper-slide {
    height: auto;
  }

  .section-product-table .swiper-wrapper .item-product {
    height: 100%;
  }

  .section-product-table .listing-products .item-product {
    width: 280px;
  }
}
