/** Shopify CDN: Minification failed

Line 32:0 All "@import" rules must come first

**/
/* =========================================
   1. VARIABLES & FONTS
   ========================================= */
:root {
  --font_primary: "Instrument Sans", sans-serif;
  --font_secondary: "Ubuntu", sans-serif;
  --color_primary1: #F78F28;
  --color_primary2: #1E3157;
  --color_primary3: #2B338C;
  --color_primary4: #3E405D;
  --text_color: #111438;
  --color_white: #ffffff;
  --color_black: #000000;
  --color_body: #F0F0F0;
  --green: #589A2C;
  --yellow: #EBD986;
  --beige: #FAF5E6;
  --black: #000;
  --black2: #010101;
  --grey: #727272;
  --container_width: 100%;
  --container_left_space: calc((100% - var(--container_width)) / 2);
  --transition: ease all 300ms;
}

/* --- Font Import (Instrument Sans & Ubuntu) --- */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

/* =========================================
   2. GLOBAL RESET & BASE STYLES
   ========================================= */
* {
  box-sizing: border-box;
  letter-spacing: 0px;
}

body {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #010101;
  font-family: var(--font_primary);
}

p, h1, h2, h3, h4, h5, h6 { margin: 0; }
div, section { display: block; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Remove default Shopify button pseudos */
.button:after, .shopify-challenge__button:after, .customer button:after, .shopify-payment-button__button--unbranded:after,
.button:before, .shopify-challenge__button:before, .customer button:before, .shopify-payment-button__button--unbranded:before,
.product__media-toggle:after, .global-media-settings:after {
  display: none !important;
}

.global-media-settings { border: none; }

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; background-color: #ffffff; }
::-webkit-scrollbar-track { border-radius: 50px; }
::-webkit-scrollbar-thumb { background: #589a2c; border-radius: 50px; }

/* =========================================
   3. LAYOUT & CONTAINERS
   ========================================= */
.container-fluid, .container, .page-width {
  width: 100%;
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
  margin: auto;
}

@media (min-width: 768px) {
  .container, .page-width { width: 750px; }
}
@media (min-width: 992px) {
  .container, .page-width { width: 970px; }
}
@media (min-width: 1200px) {
  .container, .page-width { width: 1170px; margin: 0 auto; }
}

.section_spacing { padding: 10vmin 0; }

/* =========================================
   4. PRODUCT PAGE STYLES
   ========================================= */

/* Product Title */
.product__title {
  padding-right: 0px;
  margin-top: 0 !important;
}
.product__title h1 {
  letter-spacing: -0.25px;
}
@media (min-width: 768px) {
  .product__title * { font-size: 32px !important; }
}

/* Share & Wishlist */
.product__info-container { position: relative; }
share-button + div { margin: 0 !important; }
share-button {
  margin: 0 !important;
  position: absolute !important;
  right: 40px;
  top: 4px;
}
.share-button__button {
  min-height: auto !important;
  padding-right: 0;
}
.share-button__button .svg-wrapper,
.share-button__button svg {
  width: 26px;
  height: 26px;
}
.custom_wishlist {
  position: absolute;
  width: auto !important;
  right: 0;
  top: 5px;
}
.custom_wishlist .btn {
  min-height: auto !important;
  height: auto !important;
  opacity: 1 !important;
  padding: 0 3px !important;
  width: auto !important;
  min-width: auto !important;
}

/* Product Info & Description */
.product__info-wrapper { padding-left: 0 !important; }

.product__description p {
  color: #000;
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 24px;
}
.product__description ul { padding-left: 0; }
.product__description ul li {
  position: relative;
  list-style: none;
  padding-left: 34px;
  line-height: 1.2;
  margin-bottom: 16px;
  color: #000;
}
.product__description ul li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  background-image: url(https://cdn.shopify.com/s/files/1/0600/2022/8181/files/star.svg?v=1756632600);
  background-size: contain;
  background-repeat: no-repeat;
}

/* Price */
.price__container { margin-bottom: 0 !important; }
span.price-item.price-item--sale.price-item--last {
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}
.percent_off {
  color: #eb2e2e;
  font-size: 16px;
}
.price.price--large.price--on-sale.price--show-badge,
div.price--on-sale .price__sale {
  display: flex;
  align-items: center;
}
div.price--on-sale .price__sale { flex-direction: row-reverse; }
p.product__text.inline-richtext.taxes {
  margin-top: 0;
  font-size: 14px;
  color: var(--grey);
}

/* Variant Description (Pills) */
.var_desc {
  padding-top: 12px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.variant-desc {
  background: rgba(247, 169, 42, 0.35);
  display: flex;
  align-items: center;
  font-size: 15px;
  line-height: normal;
  padding: 2px 0.625em;
  margin-bottom: 0.5em;
  border-radius: 5px;
  font-weight: bold;
  color:#000;
}
.variant-desc img {
  width: 32px;
  margin-right: 6px;
}

/* Product Form Elements */
legend.form__label {
  font-size: 14px;
  color: #000;
  margin-bottom: 0 !important;
}
.product-form__input--pill input[type="radio"] + label {
  border: 1px solid #d7d7d7 !important;
  padding: 12px 24px !important;
  color: var(--grey) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
.product-form__input--pill input[type="radio"]:checked + label {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
button.shopify-payment-button__button {
  padding: 16px;
  border-radius: 40px;
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  background: #fff;
  color: #000;
  border: 1px solid #000;
}
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  color: #fff;
}
.product-form__buttons,
.product-form__input,
.shopify-payment-button {
  position: relative;
}

/* Quantity Input */
quantity-input.quantity {
  border: 1px solid rgb(0, 0, 0);
  border-radius: 25px;
  background-color: #fff;
  overflow: hidden;
  width: 120px;
}
quantity-input.quantity::before,
quantity-input.quantity::after { box-shadow: none; }
quantity-input.quantity .quantity__input {
  font-size: 14px;
  font-weight: 700;
}
quantity-input.quantity .quantity__button { width: 40px; }
.product-form__error-message-wrapper,
label.quantity__label.form__label {
  display: none !important;
}

/* Submit Button */
.product-form__submit {
  width: calc(100% - 127px);
  float: right;
  border: 1px solid #e6e6e6;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  z-index: 1;
  background: #000;
  color: #fff;
}

@media (min-width: 768px) {
  .price-per-item__container {
    width: 127px;
    position: absolute;
    top: 0px;
    z-index: 1;
  }
}
@media only screen and (max-width: 767px) {
   .product-form__submit {
    width: 100%;
    float: right;
  }
  .product-form__input{
    margin:0;
  }
}

/* Trustmarker Banner */
.trustmarker_banner {
  background-color: #eff5eb;
  display: flex;
  align-items: center;
  height: 93px;
  width: 100%;
  position: relative;
  padding: 0;
  border-radius: 4px;
}
.trustmarker_checkmark-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 20px;
  width: 100%;
}
.trustmarker_text {
  display: flex;
  align-items: center;
  margin-left: 20px;
  gap: 16px;
  text-align: left;
}
.trustmarker_percentage {
  font-size: 48px;
  font-weight: 600;
  color: #1a1818;
}
.trustmarker_description {
  font-weight: 450;
  font-size: 18px;
  color: #1a1818;
  align-self: center;
  line-height: 27px;
  letter-spacing: 0;
}
@media (max-width: 448px) {
  .trustmarker_checkmark-container { padding-inline: 10px; }
  .trustmarker_text { margin-left: 12px; gap: 12px; }
  .trustmarker_percentage { font-size: 32px; }
  .trustmarker_description { font-size: 12px; line-height: 21px; }
}

/* Subscription Box */
.subscription_box {
  border: 1px dashed #84b163;
  border-radius: 12px;
  background: #f8fcf8;
  padding: 32px;
  color: #000;
  margin-top: 45px !important;
}
.subscription_box .title {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  font-family: var(--font_secondary); /* Changed from Ubuntu */
  letter-spacing: 0;
}
.subscription_box .list ul {
  margin-top: 32px;
  list-style: none;
  padding: 0;
}
.subscription_box .list ul li {
  position: relative;
  padding-left: 28px;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 14px;
}
.subscription_box .list ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  background-image: url(https://cdn.shopify.com/s/files/1/0600/2022/8181/files/tick-circle.svg?v=1756649340);
  background-size: contain;
  background-repeat: no-repeat;
}
.subscription_box .start {
  position: relative;
  text-transform: uppercase;
  font-size: 14px;
  width: fit-content;
  cursor: pointer;
  margin-top: 32px;
}
.subscription_box .start::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
}

/* Accordion & Icon with Text */
.accordion__title.inline-richtext {
  font-size: 16px;
  font-weight: 400;
  font-family: var(--font_secondary); /* Changed from Ubuntu */
  text-transform: uppercase;
}
span.h4.inline-richtext {
  font-size: 16px;
  font-weight: 400;
  color: #424242;
  font-family: var(--font_secondary); /* Changed from Ubuntu */
  letter-spacing: 0;
}
ul.icon-with-text.icon-with-text--vertical { margin-top: 40px; margin-bottom: 40px; }
.icon-with-text--vertical .icon-with-text__item { margin-bottom: 16px; }
.accordion summary { padding: 20px 0; }
.accordion__content {
  font-size: 14px;
  color: #000;
  line-height: 1.4;
  padding-left: 0 !important;
  font-weight: 400;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 300ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms ease;
}
details[open] .accordion__content { opacity: 1; }
.icon-caret { transition: transform 0.25s ease; }
details[open] .icon-caret { transform: rotate(180deg); }

.product__accordion ul { list-style: none; margin: 0; padding: 0; }
.product__accordion ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 1.2;
  font-size: 16px;
}
.product__accordion ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
}

/* =========================================
   5. MEDIA & GALLERY
   ========================================= */
.product.grid { justify-content: space-between; }
.media > img { object-fit: cover; }
.thumbnail[aria-current] { border-radius: 8px; border: 1px solid #589a2c !important; }
.thumbnail img { object-fit: contain !important; border-radius: 8px !important; }
.product__media { background: transparent; border-radius: 24px; }
.product-media-container.constrain-height.media-fit-contain { width: calc(100% - 32px) !important; margin: auto; margin-left: 0; }

@media screen and (min-width: 990px) {
  .product--large:not(.product--no-media) .product__media-wrapper {
    max-width: calc(54% - 10px) !important;
    width: calc(50% - 32px) !important;
  }
  .product--large:not(.product--no-media) .product__info-wrapper {
    max-width: 45% !important;
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2) !important;
  }
  .product--large:not(.product--no-media) .product__info-wrapper p {
    font-size: 16px;
    color: #000;
    line-height: 1.25;
    font-family: var(--font_secondary); /* Changed from Ubuntu */
  }
  .product__media {
    max-height: calc(100vh - 310px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product__media img {
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }

/* Thumbnail slider layout */
  media-gallery[data-desktop-layout=thumbnail_slider] {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    top: 100px;
    position: sticky;
  }

  media-gallery[data-desktop-layout=thumbnail_slider]
    > slider-component.thumbnail-slider {
    order: 1;
    flex: 0 0 110px;
    margin: 0;
    padding: 0;
  }

  media-gallery[data-desktop-layout=thumbnail_slider]
    > slider-component.slider-mobile-gutter:not(.thumbnail-slider) {
    order: 2;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
  }

  media-gallery[data-desktop-layout=thumbnail_slider]
    > slider-component.thumbnail-slider.small-hide {
    display: block !important;
  }

  media-gallery[data-desktop-layout=thumbnail_slider]
    slider-component.thumbnail-slider .slider-button {
    display: none;
  }

  media-gallery[data-desktop-layout=thumbnail_slider] .thumbnail-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: max(440px, calc(100vh - 382px));
    overflow-y: auto;
    overflow-x: hidden;
  }

  media-gallery[data-desktop-layout=thumbnail_slider]
    .thumbnail-list__item.slider__slide {
    width: 100% !important;
  }

  media-gallery[data-desktop-layout=thumbnail_slider] .thumbnail {
    display: block;
  }

  media-gallery[data-desktop-layout=thumbnail_slider] .thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
  }

  .product__media {
    max-height: calc(100vh - 310px);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .product__media img {
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }
  .thumbnail-list::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.thumbnail-list {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
}

/* Icon Description */
.icon-description {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.icon-description .icon-description__item {
  margin-bottom: 0px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.icon-description .icon-description__item img {
  width: 32px;
  height: auto;
}
.icon-description.one { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.icon-description.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.icon-description.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media only screen and (max-width: 767px) {
  .icon-description .icon-description__item img { width: 28px; }
  .icon-description .icon-description__item { gap: 4px; }
  .icon-description .icon-description__text .metafield-rich_text_field p {
    font-size: 13px;
    line-height: 1.2;
  }
  .a_plus_section, .icon_and_text { gap: 15px; }
}

/* =========================================
   6. GRID, FILTERS & CARDS
   ========================================= */
.card__media, .card__inner { border-radius: 12px !important; overflow: hidden; }
.card__media { background: var(--beige); }
.card__content { position: relative; }
.card__information { padding-top: 12px !important; padding-bottom: 0 !important; }
.card__heading {
  color: #010101;
  font-size: 16px;
  font-weight: 500;
  font-family: var(--font_primary); /* Changed from Inter */
  padding-right: 45px;
}
.card__heading a { text-decoration: none !important; }
.card__badge { display: none !important; }
.card__media .media img { object-fit: none !important; }

/* Grid System */
.grid { column-gap: 12px; row-gap: 60px; }
.grid--3-col-desktop .grid__item {
  width: calc(33.33% - 12px * 2 / 3);
  max-width: calc(33.33% - 12px * 2 / 3);
  transition: 0.5s;
}
.active #product-grid.grid--3-col-desktop .grid__item {
  width: calc(50% - 12px * 2 / 3);
  max-width: calc(50% - 12px * 2 / 3);
}
ul#product-grid { margin-top: 0; }

/* Filters */
facet-filters-form.facets.facets-vertical-sort {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}
.show_filters {
  background: #000000;
  padding: 20px 32px;
  width: fit-content;
  border-radius: 40px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
}
span#ProductCountDesktop { color: #585858; font-size: 16px; }
.facet-filters.sorting.caption { display: none !important; }
.facets-vertical .facets-wrapper { transition: 0.5s; }
.facets-container { padding-right: 3rem; }
@media(min-width: 768px) {
  .facets-vertical .facets-wrapper {
    width: 0;
    padding-right: 0 !important;
    opacity: 0 !important;
  }
}
.facets-vertical.active .facets-wrapper {
  width: 33.33%;
  opacity: 1 !important;
}

/* Filter Checkboxes */
svg.icon.icon-close-small { width: 24px; }
svg.icon.icon-checkmark { width: 18px; height: 18px; }
.facets-vertical .facet-checkbox input[type=checkbox] { border-radius: 3px; }
.facets__label svg { border-radius: 5px; }
.facets__label svg rect { stroke: #727272; rx: 5; ry: 5; }
.facet-checkbox>input[type=checkbox]:checked~.svg-wrapper>.icon-checkmark path { fill: #fff; }
.facet-checkbox>input[type=checkbox]:checked { background: #010101; }
span.facets__summary-label { font-weight: 500; text-decoration: none !important; }

/* Mobile Grid & Filters */
@media(max-width: 767px) {
  ul#product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid--3-col-desktop .grid__item,
  .active #product-grid.grid--3-col-desktop .grid__item,
  .facets-vertical.active .facets-wrapper {
    width: 100%;
    max-width: 100%;
  }
  ul#product-grid li:nth-child(3n) { grid-column: span 2; }
  .show_filters { font-size: 12px; padding: 12px 16px; }
  .facets-wrapper { margin-bottom: 24px; }
  .facets-container { padding-right: 0; }
  div.mobile-facets__inner { width: 100%; max-width: 100%; }
  div#FacetsWrapperMobile { padding-left: 15px; padding-right: 15px; }
  h2.mobile-facets__heading { font-size: 40px; }
  .active-facets__button-wrapper { display: block; margin: 0; }
  .active-facets {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 40px !important;
  }
  fieldset.facets-wrap.parent-wrap.facets-wrap-vertical { border: none; padding: 0 0 20px 0; }
  .facets__summary { margin-bottom: 10px; }
  .facets__disclosure-vertical { border-top: 1px solid #E6E6E6; padding-top: 20px; }
  a.active-facets__button-remove, a.active-facets__button-remove * {
    font-size: 14px;
    color: #010101;
    padding: 0 !important;
    margin-top: 10px;
  }
  .facet-checkbox>input[type=checkbox]:checked + svg { background: #010101; }
}

/* Quick Add */
.quick-add {
  position: absolute !important;
  top: 12px;
  right: 0;
  padding: 0 !important;
  margin-bottom: 0 !important;
  bottom: auto;
  grid-row-start: none !important;
}
.quick-add button { padding-right: 10px; }
quick-add-modal .page-width { max-width: 100% !important; }
quick-add-modal .subscription_box,
quick-add-modal .product__accordion,
quick-add-modal .icon-with-text,
quick-add-modal .product__text { display: none !important; }
quick-add-modal .percent_off { color: #EB2E2E; font-size: 16px; }
.quick-add-modal__content-info h2.h1 { font-size: 24px; }
.quick-add-modal__content-info a.product__title { text-decoration: none !important; }

/* Badges */
.allbadge {
  position: absolute;
  top: 22px;
  left: 22px;
  display: flex;
  gap: 8px;
}
.card_percent_off, .newlylaunched {
  border-radius: 4px;
  background: #F73620;
  padding: 6px 12px;
  width: fit-content;
  color: #fff;
  font-size: 12px;
}
.newlylaunched { background: #84B163; }

@media(max-width: 767px) {
  .quick-add img { width: 50px; }
  .allbadge { top: 8px; left: 8px; }
  .card_percent_off, .newlylaunched { padding: 4px 8px; font-size: 10px; }
}

/* =========================================
   7. ARTICLE & HEADER
   ========================================= */
.header__menu-item span { font-size: 16px; color: #000; }
.header__heading-logo { width: 132px; }
@media screen and (min-width: 990px) {
  .header:not(.drawer-menu).page-width { padding: 3px 15px; }
}

.breadcrumb a, .breadcrumb span {
  padding: 0 3px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  color: #3d3d3d;
  text-decoration: none;
  text-transform: capitalize;
}

.article-template { width: 80%; margin: auto; }
.article-header-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1280px;
  padding: 0 20px 15px;
  margin: auto;
  justify-content: space-between;
}
.article-header-wrapper .article-template__hero-container { width: 50%; }
.article-header-wrapper .article-header-title {
  width: 50%;
  margin: 0;
  padding: 0 60px 0 0;
  order: -1;
}
.article-header-wrapper .article-header-title .page-width { width: 100%; padding: 0; }
.article-template .page-width { width: auto; }
.article-header-wrapper .article-header-title .article-template__title {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 400;
  font-family: var(--font_secondary);
}

@media only screen and (max-width: 992px) {
  .article-template { width: 100%; }
}
@media (min-width: 768px) and (max-width: 992px) {
  .article-header-wrapper .article-header-title { padding-right: 30px; }
  .article-header-wrapper .article-header-title .article-template__title { font-size: 32px; }
}
@media only screen and (max-width: 767px) {
  .article-header-wrapper,
  .article-header-wrapper .article-template__hero-container,
  .article-header-wrapper .article-header-title { width: 100%; }
  .article-header-wrapper .article-header-title { padding-right: 0; }
  .article-header-wrapper .article-header-title header { margin-top: 0; }
  .article-header-wrapper .article-header-title .article-template__title { font-size: 28px; padding-bottom: 20px; }
}

.article-template__social-sharing { display: none; }
.article-template__content p, .article-template__content p span {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  padding-bottom: 15px;
  font-family: var(--font_primary);
}
.article-template__content h2, .article-template__content h2 span {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400;
  margin-bottom: 15px;
  margin-top: 20px;
  font-family: var(--font_secondary);
}
.article-template .rte img { width: 100%; }
.article-template .article-template__content ul, .article-template .article-template__content ol {
  margin: 0 0 10px;
  padding-left: 20px;
  list-style-position: outside;
}
.article-template .article-template__content ul li, .article-template .article-template__content ol li {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  padding-bottom: 10px;
  display: list-item;
}

@media only screen and (max-width: 767px) {
  .article-template__content p,
  .article-template__content p span,
  .article-template .article-template__content ul li,
  .article-template .article-template__content ol li { font-size: 14px; }
  .article-template__content h2,
  .article-template__content h2 span { font-size: 20px; }
}

/* =========================================
   8. FOOTER & MISC
   ========================================= */
.footer_section .footer_email_logo .email .email_input button { height: auto !important; width: 164px !important; }
.newsletter-form { max-width: 100% !important; }
.footer__newsletter .field__label { display: none; }
.footer__newsletter .field__input { transition: none !important; }
.footer__newsletter .field__input:focus::placeholder { transform: none !important; font-size: inherit !important; opacity: 1 !important; }
.field__input, .field__input:focus { padding: 0 !important; }
.newsletter-form__message { width: 100% !important; font-size: 14px; color: #fff; font-family: var(--font_primary); outline: none !important; }
.field:after, .select:after, .customer .field:after, .customer select:after, .localization-form__select:after { display: none; }

.shopify-policy__container { margin: 40px auto; }
.cart__checkout-button { border-radius: 40px; letter-spacing: 0px; text-transform: uppercase; }
button.button.button--primary { border-radius: 40px; text-transform: uppercase; font-size: 12px; letter-spacing: 0; font-weight: 700; }
facet-remove.mobile-facets__clear-wrapper { border-radius: 40px; border: 1px solid #000; font-size: 12px; text-transform: uppercase; font-weight: 700; color: #000; }
facet-remove.mobile-facets__clear-wrapper a { text-decoration: none; }
div#judgeme_product_reviews { margin: 40px 0 0 !important; }
.active-facets__button--light .active-facets__button-inner { padding: 16px 20px; font-size: 16px; letter-spacing: 0px; color: #000000; }
.mobile-facets__main { visibility: visible !important; }
.jdgm-rev-widg { padding: 0 !important; }

/* Font Awesome Icons */
.fa-1x { font-size: 24px; }
.fa-1x path { fill: #727272; }
.fa-1x[data-prefix="fas"] path { fill: #cf1827; }

/* =========================================
   9. UTILITY CLASSES
   ========================================= */
.text_center { text-align: center; }
.text_uppercase { text-transform: uppercase; }
.text_italic { font-style: italic; }
.font_primary { font-family: var(--font_primary); }
.font_secondary { font-family: var(--font_secondary); }
.objectFitCover img { object-fit: cover !important; }
.width_100 { width: 100%; }
.color_white { color: var(--color_white); }

/* Flex Helpers */
.d_f { display: flex; }
.f_w { display: flex; flex-wrap: wrap; }
.f_w_j { display: flex; flex-wrap: wrap; justify-content: space-between; }
.f_w_a_j_center { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.f_j { display: flex; justify-content: space-between; }
.f_w_se { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
.f_w_a { display: flex; flex-wrap: wrap; align-items: center; }
.f_r_aj_between { display: flex; align-items: center; justify-content: space-between; }
.f_r_aj_center { display: flex; align-items: center; justify-content: center; }
.f_r_a_center { display: flex; align-items: center; }
.a_center { align-items: center; }
.f_r_j_center { display: flex; justify-content: center; }
.f_c_aj_center { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.f_c_a_center { display: flex; flex-direction: column; align-items: center; }
.f_c_j_center { display: flex; flex-direction: column; justify-content: center; }
.j_c_center { justify-content: center; }
.f_d_c { flex-direction: column; }

/* Font Weight Helpers */
.f_w_l { font-weight: 300; }
.f_w_r { font-weight: 400; }
.f_w_m { font-weight: 500; }
.f_w_s_b { font-weight: 600; }
.f_w_b { font-weight: 700; }
.f_w_i { font-style: italic; }
.f_w_i_none { font-style: inherit; }
.text_300 { font-weight: 300; }
.text_400 { font-weight: 400; }
.text_500 { font-weight: 500; }
.text_600 { font-weight: 600; }
.text_700 { font-weight: 700; }
.text_800 { font-weight: 800; }
.text_900 { font-weight: 900; }

/* Margin & Padding Helpers */
.m_0_auto { margin: 0 auto; }
.m_tb_0 { margin: 0; }
.m_b_5 { margin: 0 0 5px; }
.m_t_5 { margin: 5px 0 0; }
.m_tb_5 { margin: 5px 0; }
.m_b_10 { margin: 0 0 10px; }
.m_t_10 { margin: 10px 0 0; }
.m_tb_10 { margin: 10px 0; }
.m_b_15 { margin: 0 0 15px; }
.m_t_15 { margin: 15px 0 0; }
.m_tb_15 { margin: 15px 0; }
.m_b_20 { margin: 0 0 20px; }
.m_t_20 { margin: 20px 0 0; }
.m_tb_20 { margin: 20px 0; }
.m_b_30 { margin: 0 0 30px; }
.m_t_30 { margin: 30px 0 0; }
.m_tb_30 { margin: 30px 0; }
.m_b_80 { margin: 0 0 80px; }
.m_t_80 { margin: 80px 0 0; }
.m_tb_80 { margin: 80px 0; }
.m_b_100 { margin: 0 0 100px; }
.m_t_100 { margin: 100px 0 0; }
.m_tb_100 { margin: 100px 0; }
.p_t { padding-top: 20px; }
.pt_10 { padding-top: 10px; }
.pb_10 { padding-bottom: 10px; }
.ptb_10 { padding: 10px 0; }
.pt_20 { padding-top: 20px; }
.pb_20 { padding-bottom: 20px; }
.ptb_20 { padding: 20px 0; }
.pt_30 { padding-top: 30px; }
.pb_30 { padding-bottom: 30px; }
.ptb_30 { padding: 30px 0; }
.pt_40 { padding-top: 40px; }
.pb_40 { padding-bottom: 40px; }
.pt_50 { padding-top: 50px; }
.pb_50 { padding-bottom: 50px; }
.ptb_50 { padding: 50px 0; }
.ptb_60 { padding: 60px 0; }
.pt_60 { padding-top: 60px; }
.pb_60 { padding-bottom: 60px; }
.ptb_80 { padding: 80px 0; }
.pt_80 { padding-top: 80px; }
.pb_80 { padding-bottom: 0; }
.ptb_100 { padding: 100px 0; }
.pt_100 { padding-top: 100px; }
.pb_100 { padding-bottom: 100px; }

@media only screen and (max-width: 991px) {
  .ptb_100, .pt_100, .pb_100 { padding-top: 90px; padding-bottom: 90px; }
  .ptb_100 { padding: 90px 0; }
}
@media only screen and (max-width: 767px) {
  .padd_zero { padding: 0; }
  .m_b_80, .m_tb_80 { margin-bottom: 60px; }
  .m_t_80, .m_tb_80 { margin-top: 60px; }
  .m_b_100 { margin-bottom: 80px; }
  .m_t_100, .m_tb_100 { margin-top: 80px; margin-bottom: 80px; }
  .ptb_60 { padding: 40px 0; }
  .pt_60 { padding-top: 40px; }
  .pb_60 { padding-bottom: 40px; }
  .ptb_80 { padding: 60px 0; }
  .pt_80 { padding-top: 0; }
  .pb_80 { padding-bottom: 0px; }
}

/* Visibility Helpers */
.hidden { display: none !important; }
.visible_lg { display: block; }
.hidden_lg { display: none; }
.hidden_xs { display: block; }
.hidden_md { display: block; }
.hidden_sm { display: block; }
.visible_xs { display: block; }

@media (max-width: 1199px) {
  .visible_lg { display: none !important; }
  .hidden_lg { display: block !important; }
}
@media (max-width: 992px) {
  .hidden_sm { display: none !important; }
}
@media (max-width: 991px) {
  .hidden_md { display: none !important; }
}
@media (max-width: 767px) {
  .hidden_xs { display: none !important; }
}
@media (min-width: 767px) {
  .visible_xs { display: none !important; }
}

/* Animation Helpers */
[data-scroll] { opacity: 0; transition: all 0.8s ease-out; }
[data-scroll="in"] { opacity: 1; transform: translateY(0); }
[data-scroll="out"] { opacity: 0; transform: translateY(100px); }