/** Shopify CDN: Minification failed

Line 1035:14 Expected identifier but found whitespace
Line 1035:43 Unexpected "("

**/
/* ========== Crossbank Custom Design Services (Packages) ========== */


/* each package/tier */

.cb-cds-tier {
  max-width: 520px;
  margin: 0 auto 10px;
  text-align: left;
}

/* "Standard — $50" */

.cb-cds-tier__title {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 6px;
  color: #111;
}

/* "Perfect for individuals..." */

.cb-cds-tier__lead {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.35;
  font-style: italic;
  color: #222;
}

/* bullet list */

.cb-cds-tier__list {
  margin: 0;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.35;
  color: #111;
}

.cb-cds-tier__list li {
  margin: 6px 0;
}

/* Slightly tighter on very small screens */

@media (max-width: 480px) {
  .cb-cds-tier {
    max-width: 100%;
    margin-bottom: 12px;
  }

  .cb-cds-tier__title {
    font-size: 19px;
  }
}

/* ========== Packages: CTA button row (2 columns on all sizes) ========== */

.cb-cds-cta--row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
  margin-top: 0px;
}

.cb-cds-cta-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: center;
}

/* Buttons */

.cb-cds-btn {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 14px 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
  transition: filter 0.15s ease;
}

/* Primary (red) */

.cb-cds-btn--add {
  background: #e11515;
  color: #fff;
}

/* Secondary (dark gray) */

.cb-cds-btn--catalog {
  background: #3d3d3d;
  color: #fff;
}

/* Hover */

.cb-cds-btn:hover {
  filter: brightness(0.95);
}

/* Subtext under buttons */

.cb-cds-subtext {
  display: block;
  width: 100%;
  margin-top: 6px;
  font-size: 12px;
  font-style: italic;
  line-height: 1.2;
  color: #111;
  text-align: center;
}

/* Optional: slightly tighter gap on very small screens, still 2 columns */

@media (max-width: 420px) {
  .cb-cds-cta--row {
    gap: 12px;
  }
}

.cb-cds-cta--row[data-tier="Pro"] {
  margin-bottom: 20px;
}

.cb-cds-cta--row[data-tier="Standard"] {
  margin-bottom: 20px;
}

/* ========== Custom Design Service: How It Works ========== */

.cb-cds-howit {
  margin: 24px auto 0;
}

.cb-cds-howit__title {
  text-align: center;
  margin: 0 0 8px;
}

/* GRID: default to mobile 2-column stagger */

.cb-cds-howit__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 22px;
  align-items: start;
}

/* each tile */

.cb-cds-howit__item {
  margin: 0;
}

/* make SVGs behave and normalize size */

.cb-cds-howit__item img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
}

/* stagger pattern on mobile */

.cb-cds-howit__item:nth-child(1) {
  grid-column: 1;
  margin-top: 0;
}

.cb-cds-howit__item:nth-child(2) {
  grid-column: 2;
  margin-top: 170px;
}

.cb-cds-howit__item:nth-child(3) {
  grid-column: 1;
  margin-top: -130px;
}

/* Desktop: 3-up, no stagger, contained width, equal height */

@media (min-width: 900px) {
  .cb-cds-howit__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: start;
  }

  .cb-cds-howit__item:nth-child(1),
  .cb-cds-howit__item:nth-child(2),
  .cb-cds-howit__item:nth-child(3) {
    grid-column: auto;
    margin-top: 0px;
  }

  .cb-cds-howit__item img {
    height: 360px;
  }
}

/* Small phones: tighten height + stagger so it doesn't get too tall */

@media (max-width: 380px) {
  .cb-cds-howit__item img {
    height: 290px;
  }

  .cb-cds-howit__item:nth-child(2) {
    margin-top: 55px;

  .cb-cds-howit__item:nth-child(3) {
    margin-top: -55px;
  }

  }
}

/* ========== Pricing & Volume Discounts ========== */

.cb-price-banner {
  margin: 28px auto 0;
}

.cb-price-banner__inner {
  text-align: center;
}

.cb-price-banner__title {
  margin: 0 0 16px;
  text-align: center;
}

/* Tier SVG row */

.cb-tier-svgs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  justify-items: center;
  margin: 0 auto 10px;
}

.cb-tier-svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 260px;
  object-fit: contain;
}

/* Lead line under cards */

.cb-price-banner__lead {
  margin: 10px 0 16px;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}

/* Pricing calculator button */

.cb-price-btn {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cb-price-btn__img {
  display: block;
  width: min(250px, 60vw);
  height: auto;
}

/* Hover */

.cb-price-btn:hover .cb-price-btn__img {
  filter: brightness(0.98);
}

/* Tighter sizing on small screens so 3-across still fits */

@media (max-width: 740px) {
  .cb-tier-svgs {
    gap: 10px;
  }

  .cb-tier-svg {
    height: 170px;
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .cb-tier-svgs {
    gap: 8px;
  }

  .cb-tier-svg {
    height: 140px;
  }
}

/* Accessibility helper (used by pricing button) */

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Lock background scroll when pricing modal is open */

html.cb-modal-open,
html.cb-modal-open body {
  overflow: hidden !important;
  height: 100% !important;
}

/* Prevent scroll chaining to the page behind the modal */

.cb-pricing-modal {
  overscroll-behavior: contain;
  z-index: 2147483647;
}

.cb-pricing-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* ========== Pricing Calculator Modal (styled to match target) ========== */

.cb-pricing-modal[hidden] {
  display: none !important;
}

.cb-pricing-modal {
  position: fixed;
  inset: 0;
}

.cb-pricing-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* Centered modal card */

.cb-pricing-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(980px, 92vw);
  height: min(86vh, 860px);
  margin: 6vh auto 0;
  background: #fff;
  border: 2px solid rgba(0, 0, 0, 0.55);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  max-height: 100vh;
}

/* Close button (simple circular) */

.cb-pricing-close {
  position: absolute;
  top: calc(10px + env(safe-area-inset-top));
  right: calc(12px + env(safe-area-inset-right));
  width: 38px;
  height: 38px;
  border: 2px solid rgba(0, 0, 0, 0.55);
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 18px;
  line-height: 34px;
  cursor: pointer;
  z-index: 5;
}

/* Header note */

.cb-pricing-header {
  padding: 18px 54px 14px 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.cb-pricing-sub {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

/* Body scroll area */

.cb-pricing-body {
  height: calc(100% - 62px);
  overflow: auto;
  padding: 14px 18px 18px;
  -webkit-overflow-scrolling: touch;
}

/* Table wrapper */

.cb-pricing-table {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* Table header row (Item / Base / Qty / Subtotal) */

.cb-pricing-row--head {
  display: none !important;
  grid-template-columns: 1.2fr 0.7fr 0.8fr 0.7fr;
  gap: 10px;
  padding: 14px 14px;
  font-weight: 800;
  background: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* Rendered rows from JS */

.cb-pricing-rows .cb-pricing-row {
  padding: 14px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: block !important;
}

/* Line 1: item name */

.cb-pricing-rows .cb-line--name {
  display: block !important;
  margin: 0 0 8px !important;
}

.cb-pricing-rows .cb-name {
  font-weight: 800;
}

.cb-pricing-rows .cb-item-name {
  font-weight: 800;
}

.cb-pricing-rows .cb-base-inline {
  font-weight: 600;
  font-size: 0.9em;
  color: rgba(0, 0, 0, 0.65);
  white-space: nowrap;
}

/* Line 2: Base | Qty | Subtotal */

.cb-pricing-rows .cb-line--meta {
  display: flex !important;
  grid-template-columns: minmax(70px, 1fr) minmax(150px, auto) minmax(70px, 1fr) !important;
  column-gap: 8px;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}

/* Base left */

.cb-pricing-rows .cb-price {
  justify-self: start;
}

/* Qty control center */

.cb-pricing-rows .cb-qty {
  justify-self: unset !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Qty buttons + input */

.cb-pricing-rows .cb-qty-btn {
  min-width: 50px;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 18px;
  font-weight: 600;
  line-height: 40px;
  cursor: pointer;
  background: #f4f4f4;
  color: #111;
}

/* Red minus / green plus based on your data-act attributes */

.cb-pricing-rows .cb-qty-btn[data-act="dec"] {
  background: #d66b73;
}

.cb-pricing-rows .cb-qty-btn[data-act="inc"] {
  background: #63c97b;
}

.cb-pricing-rows .cb-qty input {
  width: 64px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  text-align: center;
  font-size: 16px;
  padding: 0 8px;
  background: #f4f4f4;
}

.cb-pricing-rows .cb-sub {
  flex: 1 1 auto;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
}

/* Totals block BELOW the table */

.cb-pricing-totals {
  margin-top: 14px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.03);
  padding: 14px 14px;
}

.cb-total-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 6px 2px;
  font-size: 14px;
}

.cb-total-line b {
  font-weight: 900;
}

.cb-total-line--grand {
  font-size: 16px;
  font-weight: 900;
  padding-top: 10px;
}

.cb-pricing-totals hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  margin: 10px 0;
}

@media (max-width: 760px) {
  .cb-pricing-modal__dialog {
    width: calc(100vw - 22px) !important;
    height: calc(100vh - 22px) !important;
    margin: 11px auto !important;
    border-radius: 18px !important;
    border: 2px solid rgba(0, 0, 0, 0.55) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
    background: #fff !important;
    overflow: hidden !important;
    margin-top: 78px !important;
    height: calc(100vh - 90px) !important;
  }

  /* Make sure the message has room and stays visible */

  .cb-pricing-header {
    padding: 16px 54px 12px 16px !important;
  }

  .cb-pricing-sub {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    display: block !important;
  }

  /* The scroll should happen in the body area, not the page */

  .cb-pricing-body {
    height: calc(100% - 64px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Mobile: keep close button visible below the sticky site header */

  .cb-pricing-close {
    position: fixed !important;
    top: calc(8px + 64px) !important;
    right: 8px !important;
    z-index: 2147483647 !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 38px !important;
    background: #fff !important;
    border: 2px solid rgba(0, 0, 0, 0.55) !important;
    border-radius: 999px !important;
  }
}

/* Tighten controls a bit on very small phones */

@media (max-width: 420px) {
  .cb-pricing-rows .cb-qty-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 18px;
    line-height: 34px;
  }

  .cb-pricing-rows .cb-qty input {
    width: 54px;
    height: 38px;
    font-size: 16px;
  }

  .cb-pricing-rows .cb-base-inline {
    font-size: 0.85em;
  }
}

/* ========== Get the Catalog (Lead Magnet) ========== */

.cb-catalog-lead {
  max-width: 520px;
  margin: 30px auto 0;
  padding: 0 16px;
}

/* Cover image */

.cb-catalog-lead__thumb {
  display: flex;
  justify-content: center;
  margin: 0 0 16px;
}

.cb-catalog-lead__img {
  display: block;
  width: min(320px, 85vw);
  height: auto;
  border-radius: 4px;
}

/* Title */

.cb-catalog-lead__title {
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  color: #111;
  text-align: left;
}

/* Bullets */

.cb-catalog-lead__bullets {
  margin: 0 0 18px;
  padding-left: 22px;
  text-align: left;
  color: #555;
  font-size: 16px;
  line-height: 1.45;
}

.cb-catalog-lead__bullets li {
  margin: 6px 0;
}

/* Form wrapper (Klaviyo embeds can be wild) */

.cb-catalog-lead__form {
  margin-top: 6px;
}

/* Make sure the embed doesn’t exceed container width */

.cb-catalog-lead__form .klaviyo-form,
.cb-catalog-lead__form [class*="klaviyo-form"] {
  max-width: 100% !important;
}

/* If Klaviyo injects iframe-like wrappers, keep them contained */

.cb-catalog-lead__form form,
.cb-catalog-lead__form input,
.cb-catalog-lead__form button {
  max-width: 100% !important;
}

/* ========== Catalog Lead Magnet: Klaviyo inline form overrides ========== */

/* Klaviyo injects a big min-height inline. Kill it. */

.cb-catalog-lead__form .needsclick.kl-private-reset-css-Xuajs1 {
  min-height: 0 !important;
  justify-content: flex-start !important;
}

/* Reduce Klaviyo component padding (it injects 10px 6px inline) */

.cb-catalog-lead__form [data-testid="form-component"] {
  padding: 6px 0 !important;
}

/* Hide the "First Name (Optional)" field cleanly */

.cb-catalog-lead__form input[id^="first_name_"] {
  display: none !important;
}

.cb-catalog-lead__form label[for^="first_name_"] {
  display: none !important;
}

/* Also remove the row spacing it leaves behind */

.cb-catalog-lead__form [data-testid="form-row"] {
  margin: 0 !important;
}

.cb-catalog-lead__form [data-testid="form-row"]:first-child {
  display: none !important;
}

/* Email input styling */

.cb-catalog-lead__form input[type="email"][id^="email_"] {
  height: 50px !important;
  border-radius: 6px !important;
  border: 1px solid #cfcfcf !important;
  background: #fff !important;
  padding-left: 16px !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
}

/* Button styling (make it look like your red Submit button) */

.cb-catalog-lead__form button {
  width: 100% !important;
  height: 56px !important;
  border-radius: 6px !important;
  border: 0 !important;
  background: #e11515 !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  cursor: pointer !important;
}

/* Optional: tighten spacing between input + button */

.cb-catalog-lead__form [data-testid="form-row"] + [data-testid="form-row"] {
  margin-top: 6px !important;
}

/* CDS page only: hide footer Klaviyo newsletter app block */

body:has(.cb-cds) #shopify-block-ARVBBTmVFeFdJZW9CO__klaviyo_email_marketing_sms_form_embed_block_tgfygf {
  display: none !important;
}

/* Center blog post featured image wrapper */

.blog-post-featured-image {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Make sure the image itself doesn't introduce weird inline spacing */

.blog-post-featured-image__image {
  display: block;
  width: 100%;
  height: auto;
}

/* Fix UpPromote registration section alignment (override Horizon layout vars) */

[data-testid="section-content"]:has([id*="__uppromote_affiliate_registration_form"]) {
  --horizontal-alignment: flex-start !important;
}

/* 2) Make sure the UpPromote app block can actually use the width */
[id*="__uppromote_affiliate_registration_form"].shopify-app-block,
[id*="__uppromote_affiliate_registration_form"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* 3) If anything is getting clipped, disable clipping on common wrappers */
[data-testid="section-content"]:has([id*="__uppromote_affiliate_registration_form"]),
[data-testid="section-content"]:has([id*="__uppromote_affiliate_registration_form"]) .section-content-wrapper,
[data-testid="section-content"]:has([id*="__uppromote_affiliate_registration_form"]) .custom-section-content {
  overflow: visible !important;
}

/* Affiliate signup page only: hide footer Klaviyo form */

body:has(#shopify-block-AWUk3YUlBVmUwVi94Q__uppromote_affiliate_registration_form_i7JCMf) footer .shopify-app-block:has(.klaviyo-form),
body:has(#shopify-block-AWUk3YUlBVmUwVi94Q__uppromote_affiliate_registration_form_i7JCMf) footer .shopify-app-block:has([class*="klaviyo-form"]) {
  display: none !important;
}

/* Force-hide Free Shipping badge when [hidden] is present */
#cb-free-ship[hidden] {
  display: none !important;
}

/* Demote UI headings that should not count as content headings */
.account-actions__title,
.cart-drawer__heading,
.localization-form__title,
.facets__heading,
.facets__title,
.predictive-search__heading,
.search__heading,
.search-modal__heading {
  all: unset;
  display: block;
}

@media (min-width: 990px) {
  .cds-logo {
    transform: scale(0.75);   /* easy trial-and-error knob */
    transform-origin: center top;
  }
}

/* CDS hero logo spacing */
.cds-logo-wrap {
  margin: 0;           /* ensures wrapper adds no space */
  padding: 0;
}

.cds-logo {
  display: block;      /* prevents inline image baseline gap */
  margin: 0 auto;      /* keeps it centered */
}

/* Optional: if you want the gap between logo and text tighter on desktop */
@media (min-width: 990px) {
  .cds-logo-wrap {
    margin-bottom: 0;  /* leave at 0, control gap via the parent --gap */
  }
}

/* About Us (cb-about) */
.cb-about {
  max-width: 980px;
  margin: 0 auto;
}

.cb-about__header {
  margin-bottom: 18px;
  font-size: 20px !important;
}

.cb-about__title {
  margin: 0 0 10px 0;
  font-size: 20px;
}

.cb-about__intro {
  margin: 0;
}

.cb-about__body {
  display: block;
}

.cb-about__p {
  margin: 0 0 14px 0;
}

/* About page: make intro match cb-about__p exactly */
.cb-about__intro {
  font-size: var(--cb-about-p-size, 16px);
  line-height: var(--cb-about-p-line, 1.5);
  margin: 0 0 14px 0;
}

.cb-about__p {
  font-size: var(--cb-about-p-size, 16px);
  line-height: var(--cb-about-p-line, 1.5);
}



.cb-about__p--lead {
  font-weight: 600;
}

.cb-about__p--emphasis {
  font-weight: 600;
}

.cb-about__h3 {
  margin: 22px 0 10px 0;
  font-size: 20px;
}

.cb-about__split {
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 18px 0 18px 0;
}

.cb-about__split-text {
  flex: 1 1 52%;
}

.cb-about__split-media {
  flex: 1 1 48%;
  margin: 0;
}

.cb-about__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.cb-about__closing {
  margin-top: 10px;
}

/* Mobile */
@media (max-width: 749px) {
  .cb-about__split {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .cb-about__split-media {
    order: -1; /* image first on mobile */
  }
}
/* About page H1: keep <h1> semantics but reduce visual size */
.text-block--AQ0tnN01QYnp4cGJmT__heading h1 {
  font-size: 28px !important;
  line-height: 2;
  margin: 0 0 14px 0;
}

@media (max-width: 749px) {
  .text-block--AQ0tnN01QYnp4cGJmT__heading h1 {
    font-size: 22px;
  }
}

.cb-custom-design-cta {
  margin-top: 24px;
}

.cb-custom-design-cta__inner {
  display: flex;
  justify-content: center;
}

.cb-custom-design-cta__button {
  display: inline-block;
  padding: 14px 36px;
  background-color:rgb(127, 127, 127); /* change freely */
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 6px;
  text-align: center;
}

.cb-custom-design-cta__button:hover {
  background-color: #333;
}

/* Power Break Year dropdown */
.cb-year {
  margin-top: 12px;
}

.cb-year .form__label {
  margin-bottom: 6px;
  font-size: 20px;
}

/* Optional: make it stand out when required */
.cb-year__select:invalid {
  border-color: rgb(var(--color-error-rgb));
}

<!-- Optional: Mobile-friendly CSS starter (paste into custom.css if needed)
.cb-care { font-size: 16px; line-height: 1.5; }
.cb-care__intro { margin: 0 0 14px; }
.cb-care__h2 { font-size: 22px; line-height: 1.2; margin: 20px 0 10px; }
.cb-care__h3 { font-size: 18px; line-height: 1.25; margin: 14px 0 8px; }
.cb-care__nav-title { font-size: 18px; margin: 16px 0 8px; }
.cb-care__nav-list { margin: 0 0 12px; padding-left: 18px; }
.cb-care__nav-link { font-size: 16px; }
.cb-care__grid { display: grid; gap: 12px; }
.cb-care__block { padding: 12px; border: 1px solid rgba(0,0,0,.12); border-radius: 10px; }
.cb-care__list { margin: 0; padding-left: 18px; }
.cb-care__backtop { display: inline-block; margin-top: 10px; font-size: 14px; }
.cb-care__footer-text { font-size: 14px; margin-top: 18px; }
@media (min-width: 720px){ .cb-care__grid { grid-template-columns: 1fr 1fr; } }
-->

/* Fit & Feel: reduce garment image size by 25% */
.cb-fitfeel__media {
  max-width: 55%;
  margin-left: auto;
  margin-right: auto;
}

.cb-fitfeel__image {
  width: 100%;
  height: auto;
  display: block;
}

.sorting-filter__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: var(--drawer-padding) 0;
  padding-block: var(--padding-sm);
  margin-inline-end: var(--margin-md);
  position: relative;
}

.sorting-filter__container .facets__label {
  font-size: var(--font-h4--size);
}

.sorting-filter__select-wrapper {
  display: flex;
  position: relative;
  border-radius: var(--variant-picker-button-radius);
  align-items: center;
  overflow: clip;
  padding: var(--padding-2xs) var(--padding-xs);
}

.sorting-filter__select-wrapper:has(:focus-visible) {
  outline: var(--focus-outline-width) solid currentcolor;
  outline-offset: var(--focus-outline-offset);
}

.sorting-filter__select-wrapper:has(:focus-visible) .sorting-filter__select {
  outline: none;
}

.sorting-filter__container .sorting-filter__select {
  appearance: none;
  border: 0;
  margin: 0;
  cursor: pointer;
  width: 100%;
  padding-inline-end: var(--icon-size-2xs);
  text-align: right;
  text-align-last: right;
}

.sorting-filter__select .icon {
  position: absolute;
  right: var(--padding-md);
  top: 50%;
  transform: translateY(-50%);
  width: var(--icon-size-2xs);
  height: var(--icon-size-2xs);
  pointer-events: none;
}

@media screen and (min-width: 750px) {
  .sorting-filter {
    z-index: var(--facets-upper-z-index);
  }
}

.sorting-filter__options {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  position: absolute;
  top: 100%;
  right: 0;
  color: var(--color-foreground);
  z-index: var(--facets-upper-z-index);
  box-shadow: var(--shadow-popover);
  border: var(--style-border-popover);
  background-color: var(--color-background);
  border-radius: var(--style-border-radius-popover);
  width: max-content;
  min-width: var(--facets-panel-min-width);
  min-height: 0;
  transition: grid-template-rows var(--animation-speed-slow) var(--animation-easing),
    opacity var(--animation-speed-slow) var(--animation-easing);
}

details[open] .sorting-filter__options {
  opacity: 1;
  grid-template-rows: 1fr;
}

.sorting-filter__options-inner {
  display: flex;
  flex-direction: column;
  grid-row: 1 / span 2;
  gap: var(--gap-sm);
  padding: calc(var(--drawer-padding) / 2);
  color: var(--color-foreground);
  overflow: clip;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sorting-filter__options-inner::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 750px) {
  .sorting-filter__options-inner {
    gap: 0;
  }
}

.sorting-filter__option {
  cursor: pointer;
  display: grid;
  grid-template-columns: var(--icon-size-sm) 1fr;
  gap: var(--margin-2xs);
  align-items: center;
  min-width: 180px;
  max-width: 16em;
  padding: var(--padding-2xs) calc(var(--drawer-padding) / 2) var(--padding-2xs) var(--padding-2xs);
}

.sorting-filter__option:hover {
  border-radius: calc(var(--style-border-radius-popover) / 2);
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-8));
}

.sorting-filter__option:focus {
  border-radius: calc(var(--style-border-radius-popover) / 2);
}

.sorting-filter__input {
  display: none;
}

.sorting-filter__input:checked + .sorting-filter__checkmark + .sorting-filter__label {
  font-weight: 500;
}

.sorting-filter__checkmark {
  visibility: hidden;
}

*:checked ~ .sorting-filter__checkmark {
  visibility: visible;
}

.sorting-filter__label {
  cursor: pointer;
  pointer-events: none;
}

@media screen and (max-width: 749px) {
  .facets-toggle--no-filters .sorting-filter__select-wrapper {
    padding-inline-start: 0;
  }
}

.facets-mobile-wrapper .sorting-filter .facets__panel {
  padding-inline: 0;
  position: relative;
}

.facets-mobile-wrapper .sorting-filter .facets__status {
  display: none;
}

.facets-mobile-wrapper:has(> :nth-child(2)) .sorting-filter .sorting-filter__options {
  left: 0;
  right: unset;
}

.facets-mobile-wrapper .sorting-filter .facets__label {
  margin-inline-end: var(--margin-2xs);
  font-size: var(--font-paragraph--size);
  color: var(--color-foreground-muted);
}

@media screen and (max-width: 749px) {
  .facets-toggle .sorting-filter__container {
    padding: 0;
  }

  .facets-toggle .sorting-filter__container .facets__label {
    display: none;
  }

  .facets-toggle .sorting-filter::before {
    display: none;
  }
}

@media screen and (min-width: 750px) {
  .facets--drawer .sorting-filter {
    display: none;
  }
}

/* Crossbank: Pool-style free shipping bar (Corner Pocket) */
.cb-free-ship--pool .cb-free-ship__message {
  font-size: 13px;
  line-height: 1.35;
  margin: 0 0 8px;
  color: #1c1712;
}

.cb-free-ship--pool.cb-free-ship--achieved .cb-free-ship__message {
  color: #ce1d17;
  font-weight: 700;
}

.cb-free-ship--pool .cb-free-ship__rail {
  position: relative;
  height: 22px;
  margin: 10px 4px;
}

.cb-free-ship--pool .cb-free-ship__track {
  position: absolute;
  /* Full rail width, not inset for the pocket — the pocket sits on top
     of this at the right edge (z-index 2) and covers it there. Both
     need the same width so the fill's and cue ball's "78%" calc()
     formulas resolve against the same containing-block width; a track
     inset narrower than the rail made the fill fall short of the cue
     ball by a growing amount as progress increased. */
  inset: 3px 0;
  border-radius: 999px;
  background: #e8e1d2;
  overflow: hidden;
}

/*
  The cue ball's travel distance and the fill width both use the same
  formula: progress (0-1) scaled across the rail, capped at the exact
  point where the cue ball's edge touches the 8-ball's edge (78% minus
  one ball-diameter of 20px — both balls are 20px, so equal centers
  20px apart means their edges meet exactly). clamp() means it can
  never overshoot that contact point even if the cart total exceeds
  the threshold.
*/
.cb-free-ship--pool .cb-free-ship__fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: clamp(64px, calc(var(--cb-progress-frac, 0) * 78% - var(--cb-progress-frac, 0) * 20px), calc(78% - 20px));
  border-radius: 999px;
  background: #0f79e4ff;
  transition: width 300ms ease;
}

.cb-free-ship--pool[data-achieved="true"] .cb-free-ship__fill {
  width: 100%;
}

/* Cue ball */
.cb-free-ship--pool .cb-free-ship__cue-ball {
  position: absolute;
  top: 50%;
  left: clamp(64px, calc(var(--cb-progress-frac, 0) * 78% - var(--cb-progress-frac, 0) * 20px), calc(78% - 20px));

  /* Rolls as it travels — three full turns over the whole rail — so the
     red dot lands somewhere different at every cart total instead of
     always sitting in the same spot. */
  transform: translate(-50%, -50%) rotate(calc(var(--cb-progress-frac, 0) * 720deg));

  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fdfcf8;
  border: 1.5px solid #0a0a0a;
  box-shadow: inset -3px -3px 4px rgba(0, 0, 0, 0.18);
  z-index: 4;
  transition: left 300ms ease, transform 300ms ease;
}

/* Red dot on the cue ball — rotates with the ball itself */
.cb-free-ship--pool .cb-free-ship__cue-ball::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #ce1d17;
  top: 4px;
  right: 4px;
}

/* Eight ball (rests just short of the pocket) */
.cb-free-ship--pool .cb-free-ship__eight-ball {
  position: absolute;
  top: 50%;
  left: 78%;
  transform: translate(-50%, -50%);

  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #141414;
  border: 1.5px solid #0a0a0a;
  box-shadow: inset -3px -3px 4px rgba(0, 0, 0, 0.18);
  z-index: 3;
  display: grid;
  place-items: center;
}

.cb-free-ship--pool .cb-free-ship__eight-ball-ring {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #fdfcf8;
  display: grid;
  place-items: center;
  font-family: inherit;
  font-weight: 700;
  font-size: 6.5px;
  color: #141414;
}

/* Pocket: hole + jaws cut into the rail */
.cb-free-ship--pool .cb-free-ship__pocket {
  position: absolute;
  right: -6px;
  top: 50%;
  width: 26px;
  height: 26px;
  transform: translate(0, -50%);
  z-index: 2;
}

.cb-free-ship--pool .cb-free-ship__pocket-hole {
  position: absolute;
  inset: 2px;
  border-radius: 999px;
  background: #0a0a08;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.7);
}

.cb-free-ship--pool .cb-free-ship__pocket-jaw {
  position: absolute;
  left: -4px;
  width: 15px;
  height: 7px;
  background: #319c55ff;
  border-radius: 999px;
}

.cb-free-ship--pool .cb-free-ship__pocket-jaw--top {
  top: -5px;
}

.cb-free-ship--pool .cb-free-ship__pocket-jaw--bottom {
  bottom: -5px;
}

/* Achieved resting state: works from the data attribute alone, so the
   full /cart page (which doesn't load cb-free-shipping-pool.js) still
   renders the sunk 8-ball correctly on first paint. */
.cb-free-ship--pool[data-achieved="true"] .cb-free-ship__eight-ball {
  left: 100%;
  transform: translate(-50%, -50%) scale(0.05);
  opacity: 0;
}

/* Sink animation: only runs when JS adds cb-free-ship--sink (cart drawer,
   on the live transition from not-achieved to achieved) */
@keyframes cbEightSink {
  0% {
    left: 78%;
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  65% {
    left: 100%;
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 1;
  }
  100% {
    left: 100%;
    transform: translate(-50%, -50%) scale(0.05);
    opacity: 0;
  }
}

@keyframes cbCueTap {
  0% { transform: translate(-50%, -50%) scale(1); }
  40% { transform: translate(-50%, -50%) scale(0.96); }
  100% { transform: translate(-50%, -50%) scale(1); }
}

.cb-free-ship--pool.cb-free-ship--sink .cb-free-ship__eight-ball {
  animation: cbEightSink 650ms ease forwards;
}

.cb-free-ship--pool.cb-free-ship--sink .cb-free-ship__cue-ball {
  animation: cbCueTap 220ms ease-out;
}



/*======================================================GOOD TO HERE ==============================*/



/* =========================================================
   Homepage Responsive Visibility Overrides
   Hide mobile-only sections on desktop
   Hide desktop-only sections on mobile
   Breakpoint aligned with Horizon (750px)
   ========================================================= */


/* ===============================
   HIDE MOBILE SECTIONS ON DESKTOP
   =============================== */

@media (min-width: 750px) {

  /* Mobile Review Section */
  #shopify-section-template--25463382343967__1767903898c798bce5 {
    display: none !important;
  }

  #shopify-section-template--25463382343967__section_UeT7d9 {
    display: none !important;
  }

}


/* ===============================
   HIDE DESKTOP SECTIONS ON MOBILE
   =============================== */

@media (max-width: 749px) {

  /* Desktop Review Block */
  #shopify-block-Aa0FsOEdxcHBJeFhkY__judge_me_reviews_cards_carousel_bnACXb {
    display: none !important;
  }

  /* Desktop Affiliate Section */
  #shopify-section-template--25463382343967__section_xCWqmt {
    display: none !important;
  }

}

/* === HOMEPAGE: Hide Mobile Reviews section on Desktop === */
@media screen and (min-width: 750px) {
  html body #shopify-section-template--25463382343967__1767903898c798bce5 {
    display: none !important;
  }

  /* Debug (optional): uncomment to confirm selector matches */
  
  html body #shopify-section-template--25463382343967__1767903898c798bce5 {
    outline: 6px solid red !important;
  }
  
}

html { outline: 5px solid lime !important; }
