/* Settings Variables */
    .ed_breadcrumbs-section#ed_section-product__om_breadcrumbs_gcmaCT {
      --breadcrumbs-alignment: start;
      --breadcrumbs-text-color: #000000;
      --breadcrumbs-font-size: 13px;
      --breadcrumbs-font-case: default;
      --breadcrumbs-font-weight: normal;
      --padding-left: 40px;
      --padding-right: 20px;
      --padding-top: 12px;
      --padding-bottom: 0px;
      --padding-left-mobile: 20px;
      --padding-right-mobile: 20px;
      --padding-top-mobile: 0px;
      --padding-bottom-mobile: 0px;
      --max-width: none;
      
    }

    /* Section */
    .ed_breadcrumbs-section {
      padding-top: var(--padding-top);
      padding-bottom: var(--padding-bottom);
      padding-left: var(--padding-left);
      padding-right: var(--padding-right);
      color: var(--breadcrumbs-text-color);
    }
    .ed_breadcrumbs-section * {
      color: var(--breadcrumbs-text-color);
    }

    @media (max-width: 767px) {
      .ed_breadcrumbs-section {
        padding-left: var(--padding-left-mobile);
        padding-right: var(--padding-right-mobile);
        padding-top: var(--padding-top-mobile);
        padding-bottom: var(--padding-bottom-mobile);
      }
    }

    /* Nav */
    nav.ed_breadcrumbs {
      margin: 0 auto;
      max-width: var(--max-width);
    }

    /* List items */
    .ed_breadcrumbs-list {
      list-style-type: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: var(--breadcrumbs-alignment);
    }
    .ed_breadcrumbs-list li {
      display: inline-flex;
      align-items: center;
    }

    /* Arrows */
    .ed_breadcrumbs-list.arrows li:not(:last-child):after {
      border-style: solid;
      border-width: .10em .10em 0 0;
      content: '';
      display: inline-block;
      height: .4em;
      width: .4em;
      margin: 0 .4em;
      position: relative;
      transform: rotate(45deg);
      vertical-align: middle;
      font-size: calc(var(--breadcrumbs-font-size) + 2px);
      /* top: -0.1em; */
    }
    [dir="rtl"] .ed_breadcrumbs-list.arrows li:not(:last-child):after {
      transform: rotate(220deg);
    }

    .ed_breadcrumbs-list.slashes li:not(:last-child):after {
      content: '/';
      margin: 0 .4em;
      font-size: var(--breadcrumbs-font-size);
    }

    /* Links */
    .ed_breadcrumbs-list a,
    .ed_breadcrumbs-list [aria-current="page"] {
      color: inherit;
      text-decoration: none;
      font-size: var(--breadcrumbs-font-size);
      font-weight: var(--breadcrumbs-font-weight);
      text-transform: var(--breadcrumbs-font-case);
    }
    .ed_breadcrumbs-list a:hover,
    .ed_breadcrumbs-list a:focus {
      text-decoration: underline;
    }

.gvbis{margin:18px 0 4px;padding:18px 20px;background:#f7f7f7;border:1px solid rgba(0,0,0,.1);border-left:4px solid #FF8B00;border-radius:8px;color:#111;font-family:var(--element-text-font-family--body),var(--element-text-font-family-fallback--body,sans-serif)}
    .gvbis button,.gvbis input{font-family:inherit;letter-spacing:inherit}
    /* ⚠️ [hidden] MUST WIN over the author display rules below — an author `display` beats the UA
       sheet's `[hidden]{display:none}`, and without this the confirmation renders alongside the
       live form instead of replacing it. */
    .gvbis [hidden]{display:none !important}
    .gvbis__title{font-size:1.15rem;font-weight:700;line-height:1.25}
    .gvbis__sub{margin:6px 0 14px;font-size:.95rem;line-height:1.5;color:#4a4a4a}
    .gvbis__form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
    /* ⚠️ !important IS LOAD-BEARING, NOT LAZINESS. The theme ships a global
       `input[type="text"], input[type="email"], … , input { background:#f7f7f7 !important }`
       which beat this rule, so the field computed to rgb(247,247,247) — the EXACT colour of the
       .gvbis panel behind it — and the input visually disappeared into the callout. Measured live
       2026-09-03: input bg === panel bg. Scoped to this one field on purpose; do not widen it. */
    /* ⚠️⚠️ SELECTOR SPECIFICITY, NOT JUST !important. The theme's global rule is
       `input[type="text"], input[type="email"], … { background:#f7f7f7 !important }`. For this field
       the matching half is `input[type="email"]` = (0,1,1); a bare `.gvbis__email` is only (0,1,0),
       so when BOTH carry !important the THEME still wins and the field stayed rgb(247,247,247) —
       the exact colour of the panel behind it. Measured on the live page after a first fix that
       added !important alone and changed nothing. `.gvbis input.gvbis__email` is (0,2,1) and wins.
       ⛔ Do not "simplify" this back to a single class. */
    .gvbis input.gvbis__email{flex:1 1 240px;min-width:0;min-height:46px;padding:10px 14px;border:1px solid rgba(0,0,0,.28) !important;border-radius:6px;background:#fff !important;color:#111;font-size:16px}
    .gvbis__submit{flex:0 0 auto;min-height:46px;padding:12px 28px;border:0;border-radius:6px;background:#FF8B00;color:#fff;font-weight:700;font-size:1rem;line-height:1.1;cursor:pointer;transition:background-color .18s ease}
    .gvbis__submit:hover:not([disabled]){background:#111}
    .gvbis__submit[disabled]{opacity:.55;cursor:not-allowed}
    /* Last in the DOM and given the whole flex line: interaction-only means the widget is
       zero-height for a shopper Cloudflare is happy with, so the field and the button share the
       first line, and a real challenge drops in underneath instead of squashing them. */
    .gvbis__turnstile{flex:1 1 100%}
    .gvbis__msg{margin-top:10px;font-size:.95rem;line-height:1.5;font-weight:600;color:#b3261e}
    .gvbis__msg:empty{display:none}
    .gvbis__done{display:flex;gap:12px;align-items:flex-start}
    .gvbis__check{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#2e7d32;display:flex;align-items:center;justify-content:center}
    .gvbis__check svg{width:17px;height:17px;display:block}
    .gvbis__done-title{font-size:1.05rem;font-weight:700;line-height:1.25}
    .gvbis__done-sub{margin-top:4px;font-size:.95rem;line-height:1.5;color:#4a4a4a}
    .gvbis__done-email{color:#111;font-weight:700;word-break:break-word}

/* hide the Easy Wholesale bulk widget on products using our widget */
  [id^="nm-wholesale-table-container"]{display:none !important;}
  /* Fix: on these widget pages the cart drawer form's inline display:none isn't cleared when the drawer
     opens (it is on normal pages), leaving the drawer empty. Force it visible unless the cart is empty. */
  .cart-drawer:not(.is-empty) .cart__drawer-form{display:flex !important;}
  /* Use the theme's body font everywhere, and force form controls (button/input) to inherit it —
     by default <button>/<input> use the browser's system font, which made the widget look off-theme. */
  .gvbo{margin:1rem 0;color:#111;font-family:var(--element-text-font-family--body),var(--element-text-font-family-fallback--body,sans-serif)}
  .gvbo button,.gvbo input{font-family:inherit;letter-spacing:inherit}
  /* header */
  .gvbo__head{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;border-bottom:2px solid #FF8B00}
  .gvbo__head-label{font-size:1.15rem;font-weight:700}
  .gvbo__head-chev{font-size:1rem;color:#111;opacity:.7}
  /* rows */
  .gvbo__list{}
  .gvbo__row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.1)}
  .gvbo__row:last-child{border-bottom:0}
  .gvbo__opt{display:flex;align-items:center;gap:14px;min-width:0}
  .gvbo__thumb{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
  .gvbo__thumb--btn{cursor:pointer}
  .gvbo__name{font-size:1.05rem;font-weight:500;line-height:1.25}
  .gvbo__oos-label{display:block;font-size:.9rem;font-weight:400;color:#9a9a9a;margin-top:2px}
  .gvbo__price{font-size:1.05rem;font-weight:700;white-space:nowrap;text-align:right}
  .gvbo__row--oos .gvbo__price{color:#bcbcbc}
  .gvbo__pending{visibility:hidden}
  /* logged-out: "Login to See Price" grid — no prices/steppers, orange CTA per row */
  .gvbo__row--guest{grid-template-columns:1fr auto}
  .gvbo__login{display:inline-flex;align-items:center;justify-content:center;background:#FF8B00;color:#fff;font-weight:700;font-size:1.05rem;padding:12px 30px;text-decoration:none;white-space:nowrap;transition:background-color .18s ease}
  .gvbo__login:hover{background:#111}
  /* stepper — gray +/- with a boxed number, like EW */
  .gvbo__stepper{display:inline-flex;align-items:center;gap:8px}
  .gvbo__step{width:26px;height:40px;border:0;background:transparent;color:#9a9a9a;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none}
  .gvbo__step:hover:not([disabled]){color:#111}
  .gvbo__step[disabled]{opacity:.4;cursor:default}
  .gvbo__qty{width:66px;height:46px;text-align:center;border:1px solid rgba(0,0,0,.22);border-radius:8px;background:#fff;color:#111;font-size:1.05rem;font-weight:600;-moz-appearance:textfield;appearance:textfield}
  .gvbo__qty[disabled]{background:#f6f6f6;color:#c4c4c4}
  .gvbo__qty::-webkit-outer-spin-button,.gvbo__qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  /* total */
  .gvbo__foot{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:2px solid #FF8B00}
  .gvbo__foot-label{font-size:1.1rem;font-weight:700}
  .gvbo__foot-total{font-size:1.1rem;font-weight:700;white-space:nowrap}
  /* button — bold orange CTA (plain button so the theme's element.button color-lock can't pin it) */
  .gvbo__addwrap{margin-top:4px}
  .gvbo__add{display:block;width:100%;min-height:58px;padding:16px;border:0;border-radius:0;background:#FF8B00;color:#fff;font-weight:800;font-size:1.3rem;line-height:1.1;cursor:pointer;transition:background-color .18s ease}
  .gvbo__add:hover{background:#111111}
  .gvbo__add.is-added{background:#2e7d32}
  .gvbo__add.is-error{background:#b3261e}
  .gvbo__add[disabled]:not(.is-added):not(.is-error){opacity:.55;pointer-events:none}

#shopify-section-product__main .nm-wholesale-filter {min-width: 180px !important; width: auto !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-weight: 600;}

.gv-specs{width:min(1100px,94vw);margin:28px 0 28px 50%;transform:translateX(-50%);padding:22px 26px;background:#f6f6f6;border:1px solid #e5e5e5;border-top:4px solid var(--color-button-primary,#ff8b00);border-left:4px solid var(--color-button-primary,#ff8b00);border-radius:12px}
    .gv-specs h2.gv-specs__title{margin:0 0 18px;color:#111;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}
    .gv-spec-group+.gv-spec-group{margin-top:22px}
    .gv-specs h3.gv-spec-group__label{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:#111;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
    .gv-specs h3.gv-spec-group__label::after{content:"";flex:1 1 auto;height:1px;background:#dcdcdc}
    .gv-spec{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 0;margin:0}
    .gv-spec__row{display:block;padding:0 28px 0 0;border:0}
    /* [hidden] MUST WIN: the author rule above beats the UA sheet's [hidden]{display:none}, so
       `row.hidden = true` in the margin script below did nothing — the row stayed on screen still
       showing the previous (now-retracted) percentage. Do not drop this rule. */
    .gv-specs [hidden]{display:none!important}
    .gv-spec__k{margin:0 0 4px;color:#6f6f6f;font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}
    .gv-spec__v{margin:0;color:#111;font-size:15px;font-weight:700;line-height:1.35}
    @media (max-width:1199px){.gv-spec{grid-template-columns:repeat(4,minmax(0,1fr))}}
    @media (max-width:989px){.gv-spec{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media (max-width:749px){.gv-specs{width:auto;margin:24px 0;transform:none;padding:20px 22px}.gv-spec{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-spec__row{padding-right:20px}}

    .gv-specs{margin-top:40px;margin-bottom:40px}
    @media (max-width:749px){.gv-specs{margin-top:40px;margin-bottom:40px}}

.flex-grid--product__promo_banner_FfH4AX {
      margin-top: -0px;
      margin-left: -0px;
      
        padding-left: 0px;
        padding-right: 0px;
      
    }

    .flex-grid--product__promo_banner_FfH4AX .flex-grid--gutters {
      margin-top: -0px;
      margin-left: -0px;
    }

    .flex-grid--product__promo_banner_FfH4AX .flex-grid__item {
      padding-top: 0px;
      padding-left: 0px;
    }

    @media only screen and (max-width: 589px) {
      .flex-grid--product__promo_banner_FfH4AX {
        margin-top: -0px;
        margin-left: -0px;
        
          padding-left: 0px;
          padding-right: 0px;
        
      }

      .flex-grid--product__promo_banner_FfH4AX .flex-grid--gutters {
        margin-top: -0px;
        margin-left: -0px;
      }

      .flex-grid--product__promo_banner_FfH4AX .flex-grid__item {
        padding-top: 0px;
        padding-left: 0px;
      }
    }

.flex-grid__item--advanced_ba7cEg {
              min-height: 300.0px;
            }

            @media only screen and (min-width: 769px) {
              .flex-grid__item--advanced_ba7cEg {
                min-height: 400.0px;
              }
            }

            @media only screen and (min-width: 1140px) {
              .flex-grid__item--advanced_ba7cEg {
                min-height: 500px;
              }
            }

.gvws-login-hero .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    min-height: 50px !important;
    line-height: 1.2 !important;
    margin: 0 8px 12px 0 !important;
  }

  .gvws-login-hero .btn + .btn {
    margin-left: 4px !important;
  }

  .gvws-login-hero .rte--strong {
    margin-bottom: 16px;
  }

  .gvws-login-hero .enlarge-text {
    margin-bottom: 20px;
  }