/** Shopify CDN: Minification failed

Line 1063:10 Unexpected ")"
Line 1070:18 Unexpected "/"
Line 1075:12 Unexpected "("
Line 1091:14 Unexpected "/"
Line 1109:12 Unexpected ")"
Line 1112:18 Unexpected ")"
Line 1114:12 Unexpected "="
Line 1127:26 Unexpected "("
Line 1139:29 Unexpected "/"
Line 1163:20 Unexpected ")"
... and 1 more hidden warnings

**/
/* ============================================================
   EB PDP design layer (Jack 2026-07-21) — spacing rhythm +
   type hierarchy for the unified product template.
   System: Druk display / Monument body · cream #f4f1ec ·
   Kraft #b69781 · 8px rhythm. Scoped to product pages.
   ============================================================ */

/* --- Benefit callout strip --- */
.eb-pdp-callouts { padding: 56px 24px; background: #f4f1ec; }
.eb-pdp-callouts__row {
  max-width: 1080px; margin: 0 auto;
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 40px 56px;
}
.eb-pdp-callouts__item {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  flex: 0 1 180px; text-align: center;
}
.eb-pdp-callouts__rule { width: 34px; height: 2px; background: #b69781; }
.eb-pdp-callouts__label {
  font-family: "Monument-Grotesk", sans-serif; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.07em;
  font-size: 0.8rem; line-height: 1.35; color: #1a1a1a;
}
@media (max-width: 640px) {
  .eb-pdp-callouts { padding: 40px 20px; }
  .eb-pdp-callouts__row { gap: 28px 32px; }
  .eb-pdp-callouts__item { flex-basis: 40%; }
}

/* --- Section rhythm: consistent vertical cadence between A+ blocks --- */
body.template-product .eb-product-spotlights { padding-block: 88px; }
body.template-product .eb-accordion { padding-block: 56px; }

/* --- Type hierarchy: section eyebrows + titles on the PDP --- */
body.template-product .eb-product-spotlights h2,
body.template-product .eb-accordion h2 {
  font-family: "DrukCond-Super", sans-serif !important;
  text-transform: uppercase; letter-spacing: 0;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.02;
}
/* Body copy: cap measure for readability */
body.template-product .eb-product-spotlights p { max-width: 62ch; }


/* --- Buy-box refinements (07-21) --- */
/* breathing room: under star reviews + above product title */
body.template-product .product-single__title { margin-top: 18px !important; }
body.template-product .review-rating { margin-bottom: 8px !important; }
/* variant option labels (Color / Size / Width) -> eyebrow standard */
body.template-product .variant__label,
body.template-product .variant__label span { font-family:"Monument-Grotesk", sans-serif !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  font-size: 0.72rem !important; font-weight: 700 !important; color:#616161 !important; }
/* size buttons: narrower so they fit in <=2 rows */
body.template-product .variant-input-wrap[data-handle="size"] .variant__button-label,
body.template-product .variant-input-wrap[data-index="option2"] .variant__button-label {
  min-width: 40px !important; padding-left: 6px !important; padding-right: 6px !important; }


/* --- Buy-box fixes v2 (07-21) --- */
/* size grid: 7 across so 14 sizes fit in 2 rows */
body.template-product .size-variant-input-wrap { grid-template-columns: repeat(var(--size-cols, 7), minmax(0,1fr)) !important; gap: 6px !important; }
body.template-product .size-variant-input-wrap .variant__button-label { min-width: 0 !important; padding: 8px 4px !important; }
@media (max-width:640px){ body.template-product .size-variant-input-wrap { grid-template-columns: repeat(5,1fr) !important; } }
/* width variant: hide when only one option (no 2nd .variant-input sibling) */
body.template-product .variant-wrapper:has(.variant-input-wrap[data-handle="width"]):not(:has(.variant-input ~ .variant-input)) { display: none !important; }
/* short description spacing */
body.template-product .eb-short-desc { margin: 6px 0 4px; font-family:"Monument-Grotesk",sans-serif; font-size:1rem; line-height:1.5; max-width:52ch; }


/* --- Buy-box fixes v3 (07-21) --- */
/* #1 white wordmark on black PDP nav (logo is a PNG -> invert) */
body.template-product .site-header img,
body.template-product .site-header .image-element { filter: brightness(0) invert(1) !important; }
/* #5 variant title colon: "COLOR: COPPER" (name gets colon; hide the raw markup colon, keep value) */
body.template-product .variant__label > span:first-child::after { content: ":"; }
body.template-product .variant__label-color { font-size: 0 !important; }
body.template-product .variant__label-color [data-variant-color-label] { font-size: 0.72rem !important; margin-left: 4px; }
/* #6a equal row/column gap on the size grid */
body.template-product .size-variant-input-wrap { row-gap: 8px !important; column-gap: 8px !important; }
body.template-product .size-variant-input-wrap .variant-input,
body.template-product .size-variant-input-wrap label { margin: 0 !important; }


/* --- Feature icons: small, consistent-stroke, metafield-driven, left-aligned --- */
body.template-product .eb-feat-icons { display:flex; flex-wrap:wrap; gap:9px 18px; margin:10px 0 2px; }
body.template-product .eb-feat { display:flex; align-items:center; gap:6px; }
body.template-product .eb-feat svg { width:16px; height:16px; color:#1a1a1a; flex:none; }
body.template-product .eb-feat > span { font-family:"Monument-Grotesk",sans-serif; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#1a1a1a; white-space:nowrap; }


/* --- Shop dropdown on PDP: solid light panel, black links (top-level stays white) --- */
body.template-product .site-nav__dropdown,
body.template-product .site-nav__dropdown-container,
body.template-product .site-nav__deep-dropdown { background-color:#ffffff !important; }
body.template-product .site-nav__dropdown-link,
body.template-product .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { color:#1a1a1a !important; }
body.template-product .site-nav__dropdown-link:hover { color:#b69781 !important; }


/* --- ATC spacing + smaller installment text --- */
body.template-product .product-form__cart-submit,
body.template-product .product-form__add-button,
body.template-product .add-to-cart,
body.template-product button[name="add"],
body.template-product .btn--full { margin-top: 22px !important; }
body.template-product shopify-payment-terms,
body.template-product .shopify-installments,
body.template-product .shopify-payment-terms,
body.template-product [class*="installment"] { font-size: 0.78rem !important; }


/* --- Fold language selector into the announcement banner (PDP) --- */
body.template-product .toolbar { display: none !important; }
body.template-product .announcement-bar { position: relative; }
body.template-product .announcement-locale { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); z-index: 6; }
body.template-product .announcement-locale .disclosure__toggle,
body.template-product .announcement-locale a,
body.template-product .announcement-locale button { font-family:"Monument-Grotesk",sans-serif !important; font-size:0.72rem !important; letter-spacing:0.04em; text-transform:uppercase; color: inherit !important; }
@media (max-width:640px){ body.template-product .announcement-locale { display:none; } }


/* --- Native locale select in banner (clickable) --- */
body.template-product .announcement-locale .localization-form,
body.template-product .announcement-locale form { margin:0; }
body.template-product .announcement-locale select { background:transparent; border:none; outline:none; font-family:"Monument-Grotesk",sans-serif; font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:inherit; cursor:pointer; padding:2px 4px; }
body.template-product .announcement-locale select option { color:#1a1a1a; }


/* --- EB custom gallery: hero-on-top, 1:1 thumbnail row, sticky, lightbox --- */
@media (min-width:769px){
  body.template-product .grid__item.product-single__sticky { position: sticky; top: 78px; align-self: flex-start; }
}
body.template-product .ebg-hero { width:100%; background:#f4f1ec; }
body.template-product .ebg-hero-img { width:100%; height:auto; display:block; cursor:zoom-in; }
body.template-product .ebg-thumbs { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
body.template-product .ebg-thumb { width:74px; height:74px; padding:0; border:1px solid #e3ded5; background:none; cursor:pointer; overflow:hidden; border-radius:2px; transition:border-color .15s; }
body.template-product .ebg-thumb.is-active { border-color:#1a1a1a; }
body.template-product .ebg-thumb img { width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; display:block; }
.ebg-lightbox { position:fixed; inset:0; background:rgba(15,15,15,.93); z-index:99999; display:flex; align-items:center; justify-content:center; }
.ebg-lb-img { max-width:86vw; max-height:86vh; object-fit:contain; }
.ebg-lb-close { position:absolute; top:18px; right:26px; font-size:36px; line-height:1; color:#fff; background:none; border:none; cursor:pointer; }
.ebg-lb-prev,.ebg-lb-next { position:absolute; top:50%; transform:translateY(-50%); font-size:46px; line-height:1; color:#fff; background:none; border:none; cursor:pointer; padding:12px 22px; }
.ebg-lb-prev{ left:6px; } .ebg-lb-next{ right:6px; }


/* --- gallery isolated root + language dropdown arrow --- */
body.template-product .ebg-root { width:100%; }
body.template-product .announcement-locale { display:inline-flex; align-items:center; }
body.template-product .announcement-locale select { -webkit-appearance:none; appearance:none; padding-right:18px; }
body.template-product .announcement-locale::after { content:"\25BE"; position:absolute; right:4px; top:50%; transform:translateY(-50%); pointer-events:none; font-size:0.7rem; line-height:1; }


/* --- variant titles -> gray; size-guide link -> tan; equal size-grid gaps --- */
body.template-product .variant__label,
body.template-product .variant__label > span:first-child,
body.template-product .variant__label span,
body.template-product .variant__label-color,
body.template-product .variant__label-color [data-variant-color-label] { color:#616161 !important; }
body.template-product .variant__label-info,
body.template-product .variant__label-info span,
body.template-product .variant__label-info svg path { color:#b69781 !important; fill:#b69781 !important; stroke:#b69781 !important; }
/* size buttons fill their grid cell so column gap == row gap visually */
body.template-product .size-variant-input-wrap .variant-input,
body.template-product .size-variant-input-wrap .variant-input-wrap > .variant-input,
body.template-product .size-variant-input-wrap label.variant__button-label { width:100% !important; box-sizing:border-box; }


/* --- size buttons truly fill grid cell (equal H/V gaps, any viewport) --- */
html body.template-product .size-variant-input-wrap { grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; }
html body.template-product .size-variant-input-wrap .variant-input,
html body.template-product .size-variant-input-wrap .variant__button-label { width:100% !important; max-width:none !important; min-width:0 !important; margin:0 !important; box-sizing:border-box; }


/* --- size-guide link tan (beat the eyebrow gray, higher specificity) --- */
body.template-product .variant__label span.variant__label-info,
body.template-product .variant__label span.variant__label-info span,
body.template-product .variant__label span.variant__label-info a,
body.template-product .variant__label span.variant__label-info svg path { color:#b69781 !important; fill:#b69781 !important; stroke:#b69781 !important; }


/* --- title Druk, tighter star gap, rating text = short-desc size --- */
body.template-product h1.product-single__title,
body.template-product .product-single__title,
body.template-product h1.h3.simple-header.product-single__title { font-family:"DrukCond-Super","Anton",sans-serif !important; }
body.template-product .product-single__title { margin-top:10px !important; }
body.template-product .review-rating,
body.template-product .review-rating p,
body.template-product .review-rating span,
body.template-product .review-rating a { font-size:1rem !important; }


/* ============================================================
   FINAL PDP polish batch (07-21) — overrides prior conflicting rules
   ============================================================ */
/* variant titles -> black; size-guide text+icon -> light gray */
html body.template-product .variant__label,
html body.template-product .variant__label > span,
html body.template-product .variant__label span,
html body.template-product .variant__label-color,
html body.template-product .variant__label-color [data-variant-color-label] { color:#1a1a1a !important; }
html body.template-product .variant__label span.variant__label-info,
html body.template-product .variant__label span.variant__label-info *,
html body.template-product .variant__label-info,
html body.template-product .variant__label-info * { color:#8a8a8a !important; fill:#8a8a8a !important; stroke:#8a8a8a !important; }

/* product title bigger + tighter gap to rating */
html body.template-product .product-single__title,
html body.template-product h1.h3.simple-header.product-single__title { font-size:52px !important; margin-top:6px !important; line-height:1.02 !important; }
html body.template-product .review-rating { margin-bottom:6px !important; display:flex !important; align-items:center; gap:8px; }

/* rating stars: hide PNG, render kraft filled stars (match reviews) */
html body.template-product .review-rating img { display:none !important; }
html body.template-product .review-rating::before { content:"\2605\2605\2605\2605\2605"; color:#b69781; font-size:17px; letter-spacing:2px; line-height:1; }
html body.template-product .review-rating p { margin:0 !important; }

/* remove the duplicate theme subtitle under the title (keep the standardized short desc) */
html body.template-product .product-block--header p.text-gray { display:none !important; }

/* nav type -> Druk display (match the headline font per style guide) */
html body.template-product .site-header .site-nav__link,
html body.template-product .site-header .site-nav__dropdown-link--top-level { font-family:"DrukCond-Super","Anton",sans-serif !important; font-size:19px !important; font-weight:400 !important; letter-spacing:0.02em !important; text-transform:uppercase !important; }


/* price a little smaller */
html body.template-product .product__price,
html body.template-product .price__regular .price-item,
html body.template-product .price__sale .price-item,
html body.template-product .product-single__price,
html body.template-product [class*=price-item] { font-size:1.35rem !important; }


/* variant title BLACK — max specificity to beat the :first-child gray rule */
html body.template-product .variant-wrapper .variant__label > span:first-child,
html body.template-product .variant-wrapper .variant__label,
html body.template-product .variant-wrapper .variant__label-color,
html body.template-product .variant-wrapper .variant__label-color [data-variant-color-label] { color:#1a1a1a !important; }


/* nav type: Monument (body font), refined — readable, contrasts the Druk wordmark */
html body.template-product .site-header .site-nav__link,
html body.template-product .site-header .site-nav__dropdown-link--top-level { font-family:"Monument-Grotesk",sans-serif !important; font-size:15px !important; font-weight:600 !important; letter-spacing:0.06em !important; text-transform:uppercase !important; }


/* ===== micro-tweaks + global nav (07-21 pm) ===== */
/* one star set: hide duplicate Ryviu widget in the buy-box header only */
html body .product-block--header .r--widget-wapper,
html body .product-block--header [class*="r--widget"] { display:none !important; }
/* size-guide icon -> gray to match its label */
html body.template-product .variant__label-info svg,
html body.template-product .variant__label-info svg path,
html body.template-product .variant__label-info svg * { fill:#8a8a8a !important; stroke:#8a8a8a !important; color:#8a8a8a !important; }
/* title -> price gap == stars -> title (6px) */
html body.template-product .product-single__title { margin-bottom:6px !important; }
html body.template-product .product-block--price, html body.template-product .product__price { margin-top:6px !important; }
/* size boxes a touch taller so the 8px gaps read even */


/* ===== GLOBAL: black nav + white text/wordmark + combined bar on ALL pages ===== */
body .site-header, body .site-header.site-header--stuck { background-color:#0f0f0f !important; }
body .site-header a, body .site-header .site-nav__link, body .site-header .icon, body .site-header svg { color:#ffffff !important; fill:#ffffff !important; }
body .site-header img { max-width:130px !important; }
body .site-header .site-nav__link, body .site-header .site-nav__dropdown-link--top-level { font-family:"Monument-Grotesk",sans-serif !important; font-size:15px !important; font-weight:600 !important; letter-spacing:0.06em !important; text-transform:uppercase !important; }
body .site-nav__dropdown, body .site-nav__dropdown-container, body .site-nav__deep-dropdown { background-color:#fff !important; }
body .site-nav__dropdown-link { color:#1a1a1a !important; }
body .toolbar { display:none !important; }
body .announcement-bar { position:relative; }
body .announcement-locale { position:absolute; right:18px; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; z-index:6; }
body .announcement-locale select { -webkit-appearance:none !important; appearance:none !important; background:transparent !important; border:none !important; font-family:"Monument-Grotesk",sans-serif !important; font-weight:700 !important; font-size:0.72rem !important; text-transform:uppercase !important; letter-spacing:0.04em !important; color:inherit !important; cursor:pointer; padding:2px 14px 2px 4px; }
body .announcement-locale::after { content:"\25BE"; position:absolute; right:2px; top:50%; transform:translateY(-50%); pointer-events:none; font-size:0.7rem; }
/* EB locale-selector consistency fix (Jack 2026-07-27): the block above had no !important,
   so it lost to the theme's own ".faux-select, body, button, input, select, textarea"
   font-size rule on any page outside the body.template-product-scoped duplicate of this
   same styling further down this file -- selector fonts rendered large/bold everywhere
   except PDP. Added !important so it wins consistently site-wide. */


/* size-guide icon gray — max specificity to beat the earlier tan rule */
html body.template-product .variant__label span.variant__label-info svg path,
html body.template-product .variant__label span.variant__label-info svg g path,
html body.template-product .variant__label-info svg path,
html body.template-product .variant__label-info svg g path { fill:#8a8a8a !important; stroke:#8a8a8a !important; }


/* one star set: hide the duplicate review-rating block (both get the ::before) */
html body.template-product .review-rating:has(.review-rating)::before { content:none !important; }


/* equalize + tighten star->title and title->price (both ~8px) */
html body.template-product .review-rating { margin-bottom:0 !important; }
html body.template-product .product-single__title { margin-top:8px !important; margin-bottom:8px !important; }
html body.template-product .product-block--price, html body.template-product .product__price { margin-top:0 !important; }


/* size buttons: fit cell (no overflow) so 8px gap shows on ALL sides; equal H/V */
html body.template-product .size-variant-input-wrap { grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; gap:8px !important; }
html body.template-product .size-variant-input-wrap .variant-input,
html body.template-product .size-variant-input-wrap .variant__button-label { width:100% !important; height:auto !important; margin:0 !important; padding:10px 4px !important; box-sizing:border-box !important; }
/* more space above the WIDTH variant group */
html body.template-product .variant-wrapper:has(.variant-input-wrap[data-handle="width"]) { margin-top:18px !important; }
/* less space above Add to Cart */
html body.template-product .btn--full, html body.template-product .add-to-cart, html body.template-product button[name="add"], html body.template-product .product-form__cart-submit { margin-top:12px !important; }
/* product title a bit bigger */
html body.template-product .product-single__title, html body.template-product h1.h3.simple-header.product-single__title { font-size:58px !important; }


/* size grid: definitive even 8px gaps (buttons fill cells, rows size to content) */
html body.template-product .size-variant-input-wrap { display:grid !important; grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; gap:8px !important; grid-auto-rows:1fr !important; align-items:stretch !important; }
html body.template-product .size-variant-input-wrap .variant-input { margin:0 !important; padding:0 !important; height:auto !important; display:flex !important; }
html body.template-product .size-variant-input-wrap .variant__button-label { flex:1 1 auto !important; display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; margin:0 !important; padding:12px 4px !important; box-sizing:border-box !important; min-height:0 !important; }


/* ===== collection card polish ===== */
body .product-card__reviews, body .product-card__reviews * { color:#b69781 !important; }
body .product-card__reviews svg, body .product-card__reviews svg path { fill:#b69781 !important; stroke:#b69781 !important; }
/* hide the 'N colors' count text (swatches render instead) */
body .product-card__colors-count, body [class*=colors-count], body .product-card__color-count { display:none !important; }

/* hide the color-count span (swatches render instead) */
body .product-card__reviews .color-count, body span.color-count { display:none !important; }


/* collection card: kraft filled stars before rating text (match PDP + reviews section) */
body .product-card__reviews { align-items:center; gap:6px; }
body .product-card__reviews .review-count { display:inline-flex; align-items:center; font-size:12px; line-height:1; letter-spacing:.01em; }
body .product-card__reviews .review-count::before { content:"\2605\2605\2605\2605\2605"; color:#b69781; letter-spacing:2px; margin-right:6px; font-size:13px; line-height:1; }

/* === EB collection filters + swatches + badge (round 3) === */
/* 1. sidebar facets: force OPEN + usable on desktop (headers are plain <p>, no trigger) */
/* facet header on-brand */
body .collection-sidebar__group p.lg{
  font-family:'Monument Grotesk','Helvetica Neue',sans-serif; font-weight:700; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#1a1a1a; margin:0 0 12px; padding-top:20px; border-top:1px solid #e6e1d8;
}
body .collection-sidebar__group--1 > .collection-sidebar__group:first-child p.lg{ border-top:none; padding-top:0; }
body .collection-sidebar .tag__checkbox-wrapper{ font-family:'Monument Grotesk',sans-serif; font-size:13px; color:#4a4a4a; text-transform:capitalize; }

/* 2. variant color swatches on card (SOLID colors, hover name, active ring) */
body .product-card__reviews{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
body .product-card__swatches{ display:inline-flex; align-items:center; gap:7px; margin-left:auto; }
body .product-card__swatches .pc-swatch{ position:relative; width:15px; height:15px; border-radius:50%; background:var(--sw,#c9c2b6); border:1px solid rgba(0,0,0,.22); box-shadow:none; display:inline-block; cursor:pointer; text-decoration:none; }
body .product-card__swatches .pc-swatch--multi{ background:linear-gradient(135deg,#26364f 0 33%,#3a3a3a 33% 66%,#8f2d2d 66% 100%); }
body .product-card__swatches .pc-swatch.is-active{ outline:1.5px solid #0f0f0f; outline-offset:2px; box-shadow:none; }
body .product-card__swatches .pc-swatch::after{ content:attr(data-name); position:absolute; bottom:160%; left:50%; transform:translateX(-50%); background:#0f0f0f; color:#fff; font-family:'Monument Grotesk',sans-serif; font-size:10px; letter-spacing:.02em; white-space:nowrap; padding:3px 7px; border-radius:3px; opacity:0; pointer-events:none; transition:opacity .12s; z-index:30; }
body .product-card__swatches .pc-swatch:hover::after{ opacity:1; }

/* SHOP nav dropdown: black text on light panel (was white-on-white) */
body .site-header .site-nav__dropdown{ background:#fff !important; border:1px solid #ece7de; }
body .site-header .site-nav__dropdown a,
body .site-header .site-nav__dropdown-link,
body .site-header .site-nav__dropdown .site-nav__dropdown-link,
body .site-header .site-nav__dropdown summary{ color:#1a1a1a !important; }
body .site-header .site-nav__dropdown a:hover,
body .site-header .site-nav__dropdown-link:hover{ color:#b69781 !important; }

/* 3. Best Seller / display_tag badge -> bottom-left of image (was overlapping shoe) */
body .eb-grid-product .eb-card-product-slide{ position:relative; }
body .eb-grid-product .grid-product__tag--custom{
  top:auto !important; bottom:12px !important; left:12px !important; right:auto !important;
  background:#0f0f0f !important; color:#fff !important; font-family:'Monument Grotesk',sans-serif !important; font-weight:700 !important; font-size:10px !important; letter-spacing:.06em !important; text-transform:uppercase !important; padding:5px 9px !important; border-radius:3px !important; opacity:1 !important;
}
body .eb-grid-product .grid-product__tag--custom *{ color:#fff !important; }

/* === EB filter-item rendering fix (round 4) === */
@media (min-width:769px){
  /* size/type value labels were display:none -> show them */
  body .collection-sidebar .tag__text{ display:inline !important; color:#3a3a3a !important; font-size:13px !important; font-family:'Monument Grotesk',sans-serif !important; }
  body .collection-sidebar .tag > .tag__checkbox-wrapper > span:last-child{ display:inline-flex !important; align-items:center; gap:4px; color:#6a6a6a; font-size:13px; }
  /* visible checkbox box */
  body .collection-sidebar .tag__checkbox{ display:inline-block !important; width:16px !important; height:16px !important; border:1.5px solid #c7c0b4 !important; border-radius:3px !important; background:#fff !important; flex:0 0 auto; margin-right:8px; }
  body .collection-sidebar .tag__input:checked + .tag__checkbox{ background:#0f0f0f !important; border-color:#0f0f0f !important; }
  body .collection-sidebar .tag__checkbox-wrapper{ display:inline-flex !important; align-items:center; cursor:pointer; padding:5px 0; }
  body .collection-sidebar .tag-list{ display:flex !important; flex-direction:column; gap:2px; padding:2px 0 4px; }
  /* color facet -> horizontal swatch row */
  body .collection-sidebar li.tag--swatch{ display:inline-block !important; }
  body .collection-sidebar .collapsible-content--sidebar ul.tag-list:has(.tag--swatch){ flex-direction:row; flex-wrap:wrap; gap:9px; }
  body .collection-sidebar .color-swatch--filter{ width:28px !important; height:28px !important; border-radius:5px !important; border:1px solid rgba(0,0,0,.22) !important; box-shadow:none; background-size:cover !important; background-position:center !important; font-size:0 !important; color:transparent !important; padding:0 !important; }
  body .collection-sidebar .tag--swatch .tag__input:checked + .color-swatch--filter{ outline:2px solid #0f0f0f; outline-offset:2px; }
  body .collection-sidebar .tag--swatch .tag__checkbox-wrapper{ padding:0; }
}

/* === EB card hover-second-image (round 6) === */
body .eb-grid-product .eb-card-imgwrap{ position:relative; }
body .eb-grid-product .eb-card-img{ display:block; width:100%; transition:opacity .35s ease; }
body .eb-grid-product .eb-card-img--hover{ position:absolute; inset:0; opacity:0; }
@media (min-width:769px){
  body .eb-grid-product .eb-card-imgwrap:hover .eb-card-img--hover{ opacity:1; }
  body .eb-grid-product .eb-card-imgwrap:hover .eb-card-img--main{ opacity:0; }
}

/* === EB filter paint fix (round 7) === */
@media (min-width:769px){
  /* container spacing */
  body .collection-sidebar__group{ padding:0 0 4px; margin:0; }
  body .collection-sidebar .collapsible-content--sidebar{ padding:0 0 14px !important; }
  body .collection-sidebar .no-bullets.tag-list{ display:flex !important; flex-direction:column !important; gap:0 !important; margin:0 !important; padding:0 !important; }
  body .collection-sidebar .no-bullets.tag-list li.tag{ list-style:none !important; margin:0 !important; }

  /* SIZE / TYPE rows: force the value text visible */
  body .collection-sidebar li.tag:not(.tag--swatch) .tag__checkbox-wrapper{ display:flex !important; align-items:center !important; gap:9px !important; padding:6px 0 !important; min-height:0 !important; }
  body .collection-sidebar li.tag:not(.tag--swatch) .tag__text{ display:inline !important; visibility:visible !important; opacity:1 !important; color:#2a2a2a !important; -webkit-text-fill-color:#2a2a2a !important; font-size:13.5px !important; font-family:'Monument Grotesk',sans-serif !important; }
  body .collection-sidebar li.tag:not(.tag--swatch) .tag__checkbox-wrapper > span:last-child{ display:inline-flex !important; align-items:center; gap:5px; color:#2a2a2a !important; -webkit-text-fill-color:#2a2a2a !important; font-size:13.5px !important; }
  body .collection-sidebar li.tag:not(.tag--swatch) .tag__checkbox{ display:inline-block !important; width:16px !important; height:16px !important; border:1.5px solid #c4bdb0 !important; border-radius:3px !important; background:#fff !important; flex:0 0 auto !important; }
  body .collection-sidebar .tag__input:checked + .tag__checkbox{ background:#0f0f0f !important; border-color:#0f0f0f !important; }

  /* COLOR swatches: kill the overlay PNG so the real background-color shows */
  body .collection-sidebar li.tag--swatch{ display:inline-block !important; }
  body .collection-sidebar ul.tag-list:has(li.tag--swatch){ flex-direction:row !important; flex-wrap:wrap !important; gap:10px !important; padding:4px 0 !important; }
  body .collection-sidebar .color-swatch--filter{ display:inline-block !important; width:28px !important; height:28px !important; border-radius:5px !important; background-image:none !important; border:1px solid rgba(0,0,0,.25) !important; box-shadow:none !important; font-size:0 !important; color:transparent !important; -webkit-text-fill-color:transparent !important; padding:0 !important; text-indent:-9999px !important; overflow:hidden !important; }
  body .collection-sidebar .tag--swatch .tag__input:checked + .color-swatch--filter{ outline:2px solid #0f0f0f !important; outline-offset:2px !important; }
  body .collection-sidebar .tag--swatch .tag__text.hide{ display:none !important; }
  body .collection-sidebar .tag--swatch .tag__checkbox-wrapper{ padding:0 !important; }
  /* hide native checkbox input, keep label clickable */
  body .collection-sidebar .tag__input{ position:absolute !important; opacity:0 !important; width:1px; height:1px; }
}

/* === EB sidebar swatch color map (round 8) === */
body .collection-sidebar .color-swatch--black{ background-color:#1a1a1a !important; }
body .collection-sidebar .color-swatch--brown{ background-color:#6b4423 !important; }
body .collection-sidebar .color-swatch--dark-brown{ background-color:#4b2e1e !important; }
body .collection-sidebar .color-swatch--copper{ background-color:#b87333 !important; }
body .collection-sidebar .color-swatch--raisin{ background-color:#3d2b2b !important; }
body .collection-sidebar .color-swatch--tan{ background-color:#c19a6b !important; }
body .collection-sidebar .color-swatch--grey,
body .collection-sidebar .color-swatch--gray,
body .collection-sidebar .color-swatch--medium-gray{ background-color:#8a8a8a !important; }
body .collection-sidebar .color-swatch--peach-orange{ background-color:#e8a06a !important; }
body .collection-sidebar .color-swatch--golden-yellow{ background-color:#d9a441 !important; }
body .collection-sidebar .color-swatch--dark-blue{ background-color:#26364f !important; }
body .collection-sidebar .color-swatch--olive-green{ background-color:#6b6b3a !important; }
/* swatch label reads cleanly next to circle */
body .collection-sidebar li.tag--swatch{ display:flex !important; align-items:center; gap:9px; width:calc(50% - 5px); }
body .collection-sidebar .tag--swatch .tag__checkbox-wrapper{ display:flex !important; align-items:center; gap:9px; }
body .collection-sidebar .tag--swatch .color-swatch--filter{ font-size:0 !important; flex:0 0 auto; }
body .collection-sidebar .tag--swatch .tag__text.hide{ display:inline !important; font-size:13px !important; color:#2a2a2a !important; -webkit-text-fill-color:#2a2a2a !important; }


/* === EB collapsible facets (round 9) === */
body .collection-sidebar__group p.lg{ position:relative; cursor:pointer; user-select:none; padding-right:22px; }
body .collection-sidebar__group p.lg::after{ content:""; position:absolute; right:2px; top:46%; width:7px; height:7px; border-right:1.5px solid #1a1a1a; border-bottom:1.5px solid #1a1a1a; transform:translateY(-50%) rotate(45deg); transition:transform .2s ease; }
body .collection-sidebar__group.eb-collapsed p.lg::after{ transform:translateY(-30%) rotate(-135deg); }
body .collection-sidebar .collapsible-content--sidebar{ overflow:hidden; transition:height .28s ease; }
body .collection-sidebar__group.eb-collapsed .collapsible-content--sidebar{ height:0 !important; padding-bottom:0 !important; }


/* === EB PDP: A+ shared layout LIVE (Jack 07-27) — sections now schema-disabled where not ready, no CSS hide needed === */

/* === EB collection filter UI polish (round 10) === */
/* login/account icon: it's a STROKE outline; blanket header fill:#fff filled it into a blob -> restore outline */
body .site-header a[href*="account"] svg,
body .site-header a[href*="account"] svg path{ fill:none !important; stroke:#ffffff !important; }

/* color swatch selection: check overlay + strong ring (default borders were too similar) */
body .collection-sidebar .tag--swatch .color-swatch--filter{ position:relative !important; border:1px solid rgba(0,0,0,.14) !important; }
body .collection-sidebar .tag--swatch .tag__input:checked + .color-swatch--filter{ outline:2px solid #0f0f0f !important; outline-offset:2px !important; border-color:#0f0f0f !important; }
body .collection-sidebar .tag--swatch .tag__input:checked + .color-swatch--filter::after{
  content:"\2713" !important; position:absolute !important; inset:0 !important; display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:16px !important; line-height:1 !important; font-weight:700 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.85), 0 0 3px rgba(0,0,0,.5); font-family:-apple-system,Helvetica,sans-serif !important; text-indent:0 !important;
}

/* sort control: kill pale-gray pill, use brand-consistent bordered rect */
body .collection-filter__item--sort .collection-filter__sort-container{ background:transparent !important; border:1px solid #cfc8bb !important; border-radius:3px !important; box-shadow:none !important; padding:10px 16px !important; }
body .collection-filter__item--sort .collection-filter__sort-container,
body .collection-filter__item--sort .collection-filter__sort-container *,
body .collection-filter__item--sort select{ color:#1a1a1a !important; font-family:'Monument Grotesk',sans-serif !important; }
body .collection-filter__item--sort svg path{ stroke:#1a1a1a !important; }

/* active filter tags: small gray, trust-icon styling; relocated under title by eb-collection.js */
#eb-active-filters{ margin:2px 0 30px; }
body .tag-list--active-tags{ display:flex !important; flex-wrap:wrap !important; gap:16px !important; margin:0 !important; padding:0 !important; list-style:none !important; }
body .tag-list--active-tags:empty{ display:none !important; margin:0 !important; }
body .tag-list--active-tags .tag--remove{ display:inline-flex !important; align-items:center !important; gap:6px !important; background:none !important; border:none !important; margin:0 !important; padding:0 !important; }
body .tag-list--active-tags .tag--remove .btn,
body .tag-list--active-tags .tag--remove a{ background:none !important; border:none !important; padding:0 !important; min-height:0 !important; color:#8a8a8a !important; font-family:'Monument Grotesk',sans-serif !important; font-size:12px !important; font-weight:500 !important; letter-spacing:.08em !important; text-transform:uppercase !important; }
body .tag-list--active-tags .tag--remove svg{ width:9px !important; height:9px !important; color:#8a8a8a !important; }
body .tag-list--active-tags .tag--remove svg path{ stroke:#8a8a8a !important; }

/* === EB round 11: nav slim, Save10, active-X, global swatch color, buybox === */
/* NAV: slimmer black bar + smaller wordmark */
body .site-header .header-layout{ padding-top:7px !important; padding-bottom:7px !important; }
body .site-header .header-item--logo,
body .site-header .header-item--navigation,
body .site-header .header-item--icons{ padding-top:2px !important; padding-bottom:2px !important; }
body .site-header .site-nav__link{ padding-top:8px !important; padding-bottom:8px !important; }

/* Save 10% nav link */
body .site-header .eb-save10-link{ color:#d8a56b !important; }
body .site-header .eb-save10-link:hover{ color:#ffffff !important; }

/* active filter tag: visible X */
body .tag-list--active-tags .tag--remove svg{ display:none !important; }
body #eb-active-filters .tag--remove a::after, body .tag-list--active-tags .tag--remove a::after{ content:"✕" !important; display:inline !important; color:#8a8a8a !important; font-size:10px !important; margin-left:6px !important; font-weight:400 !important; }

/* GLOBAL color-swatch hex map (PDP variant swatches used invalid CSS names like 'raisin') */
body .color-swatch--black{ background-color:#1a1a1a !important; }
body .color-swatch--brown{ background-color:#6b4423 !important; }
body .color-swatch--dark-brown{ background-color:#4b2e1e !important; }
body .color-swatch--copper{ background-color:#b87333 !important; }
body .color-swatch--raisin{ background-color:#4a2c30 !important; }
body .color-swatch--tan{ background-color:#c19a6b !important; }
body .color-swatch--grey, body .color-swatch--gray, body .color-swatch--medium-gray{ background-color:#8a8a8a !important; }
body .color-swatch--peach-orange{ background-color:#e8a06a !important; }
body .color-swatch--golden-yellow{ background-color:#d9a441 !important; }
body .color-swatch--dark-blue{ background-color:#26364f !important; }
body .color-swatch--olive-green{ background-color:#6b6b3a !important; }

/* buy-box: tighten title -> price gap */
body.template-product .eb-product-header .product-single__title{ margin-bottom:4px !important; }
body.template-product .eb-product-header{ gap:4px !important; }

/* buy-box: equalize width + size button heights (single line ~38px) */
body.template-product .variant__button-label{ min-height:38px !important; height:38px !important; padding:0 14px !important; display:flex !important; align-items:center !important; justify-content:center !important; white-space:nowrap !important; line-height:1 !important; box-sizing:border-box !important; }
body.template-product .size-variant-input-wrap .variant-input,
body.template-product [class*="size"] .variant-input{ height:38px !important; }

/* === EB round 12: header empty-div gap, size grid rows, wordmark === */
/* kill the empty spacer div (mb:30px) between title and price */
body.template-product .eb-product-header > div:empty{ display:none !important; margin:0 !important; }
/* size grid: rows = 38px to match Regular width button (was 1fr -> 44px) */
body.template-product .size-variant-input-wrap{ grid-auto-rows:38px !important; }
body.template-product .size-variant-input-wrap .variant-input{ height:38px !important; }
/* wordmark: cover img + image-element + svg */

/* === EB round 13: force size cell 38 === */
body.template-product .variant-input-wrap.size-variant-input-wrap{ grid-auto-rows:38px !important; grid-template-rows:unset !important; align-items:stretch !important; }
body.template-product .variant-input.size-variant-input{ height:38px !important; min-height:38px !important; max-height:38px !important; }
body.template-product .variant-input.size-variant-input .variant__button-label{ height:38px !important; min-height:38px !important; max-height:38px !important; padding:0 !important; }

body #eb-active-filters .eb-x, body .tag-list--active-tags .eb-x{ margin-left:6px; font-size:10px; color:#8a8a8a; display:inline-block; }

/* === EB round 17: page-center wordmark + skinnier bar === */
/* equal side columns so the logo sits at true page center */
body .site-header .header-layout > .header-item:first-child,
body .site-header .header-layout > .header-item:last-child{ -webkit-box-flex:1 !important; -ms-flex:1 1 0px !important; flex:1 1 0 !important; }
body .site-header .header-layout > .header-item--icons{ display:flex !important; justify-content:flex-end !important; }
body .site-header .header-item--logo{ -webkit-box-flex:0 !important; -ms-flex:0 0 auto !important; flex:0 0 auto !important; }
/* smaller wordmark + skinnier bar */
body .site-header .site-header__logo a,
body .site-header .site-header__logo-link{ width:100px !important; }
body .site-header .header-layout{ padding-top:5px !important; padding-bottom:5px !important; }




/* === EB round 23: white logo (no invert) + real bar slim === */
/* logo is now a white file -> drop the invert that was blackening it */
body .site-header .header-item--logo img,
body .site-header .header-item--logo .image-element img{ filter:none !important; }
/* stop items stretching to the tallest; size to content */
body .site-header .header-layout{ display:flex !important; align-items:center !important; padding-top:7px !important; padding-bottom:7px !important; }
body .site-header .header-layout > .header-item{ align-self:center !important; }
/* trim the tall icon links + oversized icon svgs */
body .site-header .header-item--icons a,
body .site-header .header-item--icons .site-nav__link{ padding-top:0 !important; padding-bottom:0 !important; }
body .site-header .header-item--icons svg{ width:21px !important; height:21px !important; }
body .site-header .site-nav__link{ padding-top:4px !important; padding-bottom:4px !important; }

/* === EB round 24: slim announcement bar === */
body .announcement-bar{ padding-top:5px !important; padding-bottom:5px !important; }
body .announcement-bar__message, body .announcement-bar a{ padding-top:0 !important; padding-bottom:0 !important; }


/* === EB collection header v2: title-left, rect tiles-right, divider, subbar === */
body .eb-coll-top{ padding-top:26px !important; }
body .eb-coll-titlerow{ display:flex !important; align-items:center; justify-content:space-between; gap:36px; }
body .eb-coll-title{ flex:0 1 auto; margin:0 !important; }
body .eb-coll-tiles{ display:flex; gap:12px; flex:1 1 auto; justify-content:flex-end; max-width:68%; }
body .eb-coll-tile{ position:relative; flex:1 1 0; aspect-ratio:3/4; max-width:178px; border-radius:6px; overflow:hidden; text-decoration:none; background:#ece7de; }
body .eb-coll-tile__img{ position:absolute; inset:0; display:block; }
body .eb-coll-tile__img img, body .eb-coll-tile__img .image-element, body .eb-coll-tile__img image-element{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; display:block !important; position:static !important; }
body .eb-coll-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 55%); }
body .eb-coll-tile__label{ position:absolute; left:10px; right:10px; bottom:10px; z-index:2; color:#fff; font-family:'Monument Grotesk',sans-serif; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; line-height:1.2; }
body .eb-coll-tile.is-active{ outline:2px solid #1a1a1a; outline-offset:2px; }
body .eb-coll-divider{ border:none !important; border-top:1px solid #ddd6ca !important; margin:22px 0 16px !important; height:0 !important; }
body .eb-coll-subbar{ display:flex !important; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
body .eb-coll-subbar__left{ display:flex; align-items:center; gap:24px; }
body .eb-coll-subbar__left nav, body .eb-coll-subbar__left .breadcrumb{ margin:0 !important; }
body .eb-coll-header__count{ font-family:'Monument Grotesk',sans-serif; font-size:13px; color:#8a8a8a; white-space:nowrap; }
body .eb-coll-sort-slot:empty{ display:none; }
@media (max-width:768px){
  body .eb-coll-titlerow{ flex-direction:column; align-items:flex-start; gap:18px !important; }
  body .eb-coll-tiles-wrap{ width:100% !important; max-width:100% !important; }
  body .eb-coll-tiles{ max-width:100% !important; width:100% !important; overflow-x:auto; justify-content:flex-start; }
  /* !important needed: a later unconditional rule sets flex:1 1 128px !important on .eb-coll-tile,
     which (since media queries don't add specificity) was beating this mobile-only 118px basis --
     tiles were rendering at the DESKTOP 128px/160px size on mobile, overflowing the wrap container
     itself (not just the intended internal carousel scroll) and inflating banner height. (Jack 2026-07-27) */
  body .eb-coll-tile{ flex:0 0 118px !important; min-width:118px !important; max-width:118px !important; }
}

/* === EB collection subbar refinements === */
/* subbar: breadcrumb left, sort aligned to product-grid left edge, count right */
body .eb-coll-subbar{ position:relative; margin-bottom:6px !important; }
body .eb-coll-subbar__left{ gap:0 !important; }
@media (min-width:769px){
  body .eb-coll-sort-slot{ position:absolute; left:18.7%; top:50%; transform:translateY(-50%); margin:0 !important; }
}
/* sort control: smaller + chevron chip */
body .eb-coll-sort-slot .collection-filter__item--sort .collection-filter__sort-container{ padding:6px 12px !important; border:1px solid #cfc8bb !important; border-radius:4px !important; display:inline-flex !important; align-items:center !important; gap:8px !important; }
body .eb-coll-sort-slot .collection-filter__item--sort *{ font-size:12px !important; letter-spacing:.04em !important; }
body .eb-coll-sort-slot .collection-filter__item--sort svg{ width:14px !important; height:14px !important; }
body .eb-coll-sort-slot .collection-filter__sort-container::after{ content:"\25BE"; font-size:10px; color:#1a1a1a; margin-left:4px; }
/* reduce padding below the subbar row and the filters/grid */
body .eb-coll-top{ padding-bottom:8px !important; }
body #shopify-section-template--collection-main, body .collection-content, body .collection-grid-wrapper{ padding-top:0 !important; margin-top:0 !important; }

/* EB: hide collection hero banner (tiles replace it; collection images are for tiles only) */
body .collection-hero, body #CollectionHeaderSection > .collection-hero{ display:none !important; }

/* === EB subbar: unify text style + vertical center (v2) === */
/* consistent height + vertical centering for breadcrumb / sort / count */
body .eb-coll-subbar{ min-height:34px !important; align-items:center !important; }
body .eb-coll-subbar__left{ align-items:center !important; }
body .eb-coll-header__count{ padding:0 !important; }
/* unify ALL THREE to one text style: 12px, 600, uppercase, grey */
body .eb-coll-subbar__left nav,
body .eb-coll-subbar__left nav *,
body .eb-coll-subbar .breadcrumb,
body .eb-coll-subbar .breadcrumb *,
body .eb-coll-header__count,
body .eb-coll-sort-slot .collection-filter__item--sort .collection-filter__sort-container,
body .eb-coll-sort-slot .collection-filter__item--sort span,
body .eb-coll-sort-slot .collection-filter__item--sort select{
  font-family:'Monument Grotesk',sans-serif !important;
  font-size:12px !important; font-weight:600 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  color:#5a5a5a !important; line-height:1 !important;
}
/* sort box: keep subtle, text matches, vertically centered on the row */
body .eb-coll-sort-slot .collection-filter__item--sort .collection-filter__sort-container{ padding:8px 12px !important; }
body .eb-coll-sort-slot .collection-filter__sort-container svg path{ stroke:#5a5a5a !important; }
body .eb-coll-sort-slot .collection-filter__sort-container::after{ color:#5a5a5a !important; }

/* === EB subbar v3: plain sort text + COLOR aligns to card top === */
/* sort = plain text (no box) so all 3 share one style + one baseline (pretti.cool style) */
body .eb-coll-sort-slot .collection-filter__item--sort .collection-filter__sort-container{ border:none !important; background:none !important; padding:0 !important; box-shadow:none !important; gap:7px !important; }
body .eb-coll-sort-slot .collection-filter__item--sort svg{ width:13px !important; height:13px !important; }
body .eb-coll-sort-slot .collection-filter__sort-container svg path{ stroke:#5a5a5a !important; }
/* COLOR (first filter) top-aligns with first product card top */
@media (min-width:769px){
  body .grid__item--sidebar, body #CollectionSidebar, body .collection-sidebar{ margin-top:15px !important; }
}

/* === EB subbar v4: sort in-flow, card-aligned, remove leftover filter bar === */
@media (min-width:769px){
  /* remove leftover empty filter bar (sort was moved to header) -> cards rise to meet COLOR */
  body .grid__item--four-fifths .collection-filter,
  body .collection-content .collection-filter{ display:none !important; }
  /* revert sidebar nudge */
  body .grid__item--sidebar, body #CollectionSidebar, body .collection-sidebar{ margin-top:0 !important; }
  /* sort back in-flow: fixed-width breadcrumb pushes sort to the card edge; all 3 flex-centered */
  body .eb-coll-subbar__left{ display:flex !important; align-items:center !important; }
  body .eb-coll-subbar__left nav, body .eb-coll-subbar__left .breadcrumb{ flex:0 0 254px !important; width:254px !important; margin:0 !important; }
  body .eb-coll-sort-slot{ position:static !important; left:auto !important; top:auto !important; transform:none !important; margin:0 !important; display:flex !important; align-items:center !important; }
}

/* === EB v5: hide filter bar, align COLOR, announcement/tile text === */
@media (min-width:769px){
  /* decisively remove the leftover empty filter bar so cards top-align with COLOR */
  body .collection-filter{ display:none !important; }
  body .collection-sidebar, body .grid__item--sidebar, body #CollectionSidebar{ margin-top:0 !important; }
  /* nudge sort to share the text baseline */
  body .eb-coll-sort-slot .collection-filter__item--sort{ display:flex !important; align-items:center !important; }
  body .eb-coll-sort-slot .collection-filter__sort-container svg{ vertical-align:middle !important; }
}
/* announcement bar text slightly smaller */
body .announcement-bar__message, body .announcement-bar__message *{ font-size:12px !important; }
/* EB: reserve room so the message text doesn't collide with the absolutely-positioned
   locale selector on narrow screens (Jack 2026-07-27) -- real structure is a Flickity
   slider (.announcement-slider), not a simple .announcement-bar__message div. Padding on
   BOTH sides (not just right) so the centered text stays visually centered instead of
   drifting left (found 2026-07-28, Kathrine caught it). */
@media (max-width:640px){
  body .announcement-bar .slideshow-wrapper{ padding-left:74px !important; padding-right:74px !important; box-sizing:border-box; }
}

/* EB: header icons were hugging the centered logo instead of anchoring to the true
   page edges at mobile/tablet widths (Jack 2026-07-28). .header-item--icons and
   .header-item--navigation both flex-grow to fill their half of the header, but their
   OWN justify-content aims their (now tiny, icon-only) content toward the logo -- fine
   on desktop where real nav text fills the box, wrong once it collapses to one icon
   each. Flip both toward the outer edges under the same breakpoint the collection
   banner uses. */
@media (max-width:768px){
  /* must match (or exceed) the specificity of the pre-existing unconditional
     'body .site-header .header-layout > .header-item--icons{justify-content:flex-end!important}'
     rule above -- the plain 'body .header-item--icons' version tried first lost to it
     silently (both !important, lower specificity), so icons stayed hugging the logo
     even though the file clearly contained the override (caught 2026-07-28 after
     Kathrine reported the hamburger fixed but the cart icon still wrong). */
  /* SUPERSEDED below (2026-07-28): Kathrine wanted hamburger-left/cart-right, the
     opposite of what this originally shipped -- kept the specificity lesson (matching
     'body .site-header .header-layout > .header-item--icons' beats the plain form)
     but the actual left/right values now live in the swap block appended at the
     bottom of this file, which also has to override flex-direction:row-reverse. */
}

/* EB: #eb-active-filters (active-filter-chip tag list) sits as a THIRD flex child of
   .eb-coll-titlerow always, even with zero chips -- an empty <ul> inside a non-empty
   <div>, so :empty alone can't target it. With 3 flex children the row's gap applies
   TWICE (title-to-filters, filters-to-tiles) instead of once, showing as unexplained
   extra space under the collection title. Hide the wrapper only while genuinely empty;
   it reappears automatically once filter chips get added to the list. (Jack 2026-07-28) */
#eb-active-filters:has(.tag-list--active-tags:empty){ display:none !important; }
/* collection tile labels slightly larger */
body .eb-coll-tile__label{ font-size:13px !important; }

/* EB sort baseline nudge */
@media (min-width:769px){ body .eb-coll-sort-slot .collection-filter__item--sort{ position:relative !important; top:8px !important; } }

/* === EB bundle & save card (hoodie) === */
body .eb-bundle-card{ border:1px solid #e0dace; border-radius:8px; padding:16px 18px; margin:12px 0 -12px; background:#faf8f3; }
body .eb-bundle-card__head{ display:flex; flex-direction:column; gap:3px; margin-bottom:12px; }
body .eb-bundle-card__title{ font-family:'Monument Grotesk',sans-serif; font-size:13px; font-weight:700; letter-spacing:.14em; color:#b69781; text-transform:uppercase; }
body .eb-bundle-card__sub{ font-family:'Monument Grotesk',sans-serif; font-size:12.5px; color:#8a8a8a; line-height:1.3; }
body .eb-bundle-card__tiers{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
body .eb-bundle-tier{ border:1px solid #e6e1d6; border-radius:6px; background:#fff; padding:10px 6px; text-align:center; display:flex; flex-direction:column; gap:3px; }
body .eb-bundle-tier .q{ font-family:'Monument Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#6a6a6a; }
body .eb-bundle-tier .p{ font-family:'Monument Grotesk',sans-serif; font-size:21px; font-weight:700; color:#1a1a1a; line-height:1.05; letter-spacing:-.01em; }
body .eb-bundle-tier .s{ font-family:'Monument Grotesk',sans-serif; font-size:10.5px; color:#8a8a8a; line-height:1.2; }
body .eb-bundle-tier--best{ border-color:#b69781; background:#fbf6ef; }
body .eb-bundle-tier--best .s{ color:#b69781; font-weight:600; }
@media (max-width:600px){ body .eb-bundle-card__tiers{ grid-template-columns:repeat(2,1fr); } }

/* EB bundle block spacing (even gaps to sizes above + CTA below) */
body .product-block:has(.eb-bundle-card){ margin-top:12px !important; margin-bottom:20px !important; }


/* ===== EB collection tiles — label scales to eyebrow floor (Jack 2026-07-23) =====
   Card label scales with tile width via container queries, floored at the
   eyebrow text size (12px) and capped at the current 13px. Tiles grow to fill
   but never shrink below a text-fitting min-width; below that the row scrolls
   horizontally (mobile-style) instead of shrinking the text further. */
.eb-coll-tiles{
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.eb-coll-tiles::-webkit-scrollbar{ display:none; }
.eb-coll-tile{
  container-type:inline-size;
  flex:1 1 128px !important;
  min-width:128px !important;
  max-width:178px !important;
}
.eb-coll-tile__label{ font-size:13px !important; }
@media (max-width:768px){ .eb-coll-tile__label{ font-size:12px !important; } }  /* floor = eyebrow size */


/* ===== EB collection banner — tiles stay right of title & scroll (Jack 2026-07-23) =====
   Keep the title fixed on the left; tiles occupy the remaining space and scroll
   within it (carousel) instead of going full-width behind the title. */
@media (min-width:769px){
  .eb-coll-titlerow{ flex-direction:row !important; align-items:center !important; flex-wrap:nowrap !important; }
  .eb-coll-titlerow .eb-coll-title{ flex:0 0 auto !important; }
  .eb-coll-titlerow .eb-coll-tiles{
    flex:1 1 auto !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;           /* allow shrink so it scrolls inside its own area */
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
}


/* ===== EB sidebar filter collapse (Jack 2026-07-23): collapse all filter groups except the first =====
   Markup stays is-open (facets render); collapse is visual via this class + JS toggle. */
.filter-form .collection-sidebar__group p.lg.eb-filter-toggle,
#CollectionSidebar p.lg.eb-filter-toggle{ cursor:pointer; display:flex; align-items:center; justify-content:space-between; user-select:none; }
p.lg.eb-filter-toggle::after{
  content:''; flex:0 0 auto; width:7px; height:7px; margin-left:10px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-135deg); transition:transform .2s ease;
}
.eb-filter-collapsed > .collection-sidebar__group > p.lg.eb-filter-toggle::after,
.eb-filter-collapsed p.lg.eb-filter-toggle::after{ transform:rotate(45deg); }
.eb-filter-collapsed .collapsible-content--sidebar{
  max-height:0 !important; height:0 !important; overflow:hidden !important;
  margin:0 !important; padding:0 !important; opacity:0 !important;
}


/* ===== EB quick-shop modal fixes (Jack 2026-07-23): constrain trust icons + enable accordions in AJAX modal ===== */
.modal--quick-shop .product-feature-wrapper{ padding:16px 0 !important; max-width:100% !important; }
.modal--quick-shop .feature-icon-grid{ gap:12px !important; }
.modal--quick-shop .feature-icon-item{ width:auto !important; flex:0 1 auto !important; gap:8px !important; margin-bottom:8px !important; }
.modal--quick-shop .feature-icon-item img{ width:36px !important; height:36px !important; }
.modal--quick-shop .feature-icon-item span{ font-size:12px !important; }
.modal--quick-shop .accordion-item-cdh.eb-acc-open .accordion-panel-cdh{ display:block !important; }
.modal--quick-shop .accordion-item-cdh.eb-acc-open .accordion-thumb-cdh:before{ transform:rotate(-135deg) !important; }


/* ===== EB product card unified: white card, rounded, inset divider, square images (Jack 2026-07-23) ===== */
.eb-grid-product{
  background:#fff !important;
  border-radius:14px !important;
  overflow:hidden !important;
  border:1px solid #ededed !important;
  box-shadow:none !important;
}
.eb-grid-product .eb-card-product-slide{ display:block; }
.eb-grid-product .eb-card-imgwrap{
  aspect-ratio:1/1 !important;
  background:#fff !important;
  overflow:hidden !important;
  position:relative !important;
}
.eb-grid-product .eb-card-imgwrap image-element,
.eb-grid-product .eb-card-imgwrap .image-element,
.eb-grid-product .eb-card-img,
.eb-grid-product .eb-card-imgwrap img{
  width:100% !important; height:100% !important;
  object-fit:contain !important; display:block !important;
}
.eb-grid-product .eb-card-img--hover{ position:absolute !important; inset:0 !important; }
.eb-grid-product .product-card{
  background:#fff !important;
  border-radius:0 !important;
  padding:14px 16px 18px !important;
  position:relative !important;
  box-shadow:none !important;
}
.eb-grid-product .product-card::before{
  content:'' !important;
  position:absolute !important; top:0 !important; left:16px !important; right:16px !important;
  height:1px !important; background:#e6e6e6 !important;
}


/* ===== EB sort align + banner right-scroll (Jack 2026-07-23) ===== */
/* Sort dropdown arrow hugs the selected label (auto-size the select to its value) */
.eb-coll-sort-slot select{ field-sizing:content !important; width:auto !important; min-width:0 !important; }
.eb-coll-sort-slot .collection-filter__sort-container{ gap:6px !important; }
.eb-coll-sort-slot .collection-filter__sort-container::after{ margin-left:6px !important; }

/* Banner tiles: start right-aligned to the page edge; scroll left to reveal more */
@media (min-width:769px){
  .eb-coll-titlerow .eb-coll-tiles{ justify-content:flex-end !important; }
}
/* scroll-affordance arrow buttons */
.eb-coll-tiles-wrap{ position:relative; flex:1 1 auto; min-width:0; display:flex; }
.eb-coll-scroll-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:32px; height:32px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,.95); box-shadow:0 1px 6px rgba(0,0,0,.18);
  display:none; align-items:center; justify-content:center; padding:0;
}
.eb-coll-scroll-arrow.is-visible{ display:flex; }
.eb-coll-scroll-arrow--left{ left:-6px; }
.eb-coll-scroll-arrow--right{ right:-6px; }
.eb-coll-scroll-arrow::before{
  content:''; width:8px; height:8px; border-right:2px solid #1a1a1a; border-bottom:2px solid #1a1a1a;
}
.eb-coll-scroll-arrow--left::before{ transform:rotate(135deg); margin-left:3px; }
.eb-coll-scroll-arrow--right::before{ transform:rotate(-45deg); margin-right:3px; }


/* ===== EB card/banner refinements (Jack 2026-07-23) ===== */
/* remove the gray outline around cards + image area */
.eb-grid-product{ border:none !important; box-shadow:none !important; }
.eb-grid-product .eb-card-imgwrap,
.eb-grid-product .eb-card-imgwrap image-element,
.eb-grid-product .eb-card-img,
.eb-grid-product .eb-card-imgwrap img{ border:none !important; box-shadow:none !important; outline:none !important; }
/* hover (lifestyle) image fills the 1:1 square (cover/crop); main shot stays contain (uncropped) */
.eb-grid-product .eb-card-img--hover{ object-fit:cover !important; }
/* banner tiles: slightly smaller + vertical breathing room so the selected outline isn't clipped */
.eb-coll-tiles{ padding:4px 2px !important; }
.eb-coll-titlerow .eb-coll-tile,
.eb-coll-tile{ max-width:160px !important; }
.eb-coll-tile.is-active{ outline-offset:1px !important; }


/* ===== EB kill card-slide border (Jack 2026-07-23): the gray outline was on .eb-card-product-slide ===== */
.eb-grid-product .eb-card-product-slide{ border:none !important; box-shadow:none !important; outline:none !important; }


/* ===== EB card inner-white (gutter fix) (Jack 2026-07-23) =====
   The white card bg/radius must live on the INNER blocks, not .eb-grid-product
   (which carries the grid gutter padding) — otherwise the white fills the gutter
   and cards touch each other + the sidebar. Grid item stays transparent. */
.eb-grid-product{ background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; }
.eb-grid-product .eb-card-product-slide,
.eb-grid-product .product-card{ background:#fff !important; margin-left:6px !important; margin-right:6px !important; }
.eb-grid-product .eb-card-product-slide{ display:block !important; border-radius:14px 14px 0 0 !important; overflow:hidden !important; border:none !important; }
.eb-grid-product .product-card{ border-radius:0 0 14px 14px !important; }


/* ===== EB card stair-step fix (Jack 2026-07-23): image block had width:100% and overflowed its margins ===== */
.eb-grid-product .eb-card-product-slide{ width:auto !important; box-sizing:border-box !important; }


/* ===== EB hover-cover + badge align (Jack 2026-07-23) ===== */
.eb-grid-product .eb-card-imgwrap img.eb-card-img--hover{ object-fit:cover !important; }
.eb-grid-product .grid-product__tag--custom{ left:16px !important; }


/* ===== EB spacing round: tighter cards + filters, badge align (Jack 2026-07-23) ===== */
/* badge: beat the body-prefixed left:12px rule */
body .eb-grid-product .eb-card-product-slide .grid-product__tag--custom{ left:16px !important; }
/* product cards a touch closer (inner margin 6 -> 3) */
.eb-grid-product .eb-card-product-slide,
.eb-grid-product .product-card{ margin-left:3px !important; margin-right:3px !important; }
/* filter panel: tighter spacing between groups + values */
.collection-sidebar__group p.lg{ margin-bottom:6px !important; padding-top:6px !important; padding-bottom:2px !important; }
.collection-sidebar .collapsible-content__inner,
#CollectionSidebar .collapsible-content__inner{ padding-bottom:2px !important; }
.collection-sidebar .tag-list .tag,
#CollectionSidebar .tag-list .tag{ margin-bottom:2px !important; }
.collection-sidebar .tag__checkbox-wrapper,
#CollectionSidebar .tag__checkbox-wrapper{ padding-top:2px !important; padding-bottom:2px !important; }


/* ===== EB card rows + tighter spacing (Jack 2026-07-23) ===== */
/* Row 3: color chips + stars */
.product-card__meta-row{ display:flex; align-items:center; gap:14px; margin-top:10px; flex-wrap:wrap; }
.pc-color-chips{ display:inline-flex; align-items:center; gap:7px; }
.pc-chip{ width:15px; height:15px; border-radius:50%; background:var(--chip,#8a8a8a); border:1px solid rgba(0,0,0,.22); display:inline-block; text-decoration:none; }
.pc-chip.is-active{ box-shadow:0 0 0 2px #fff, 0 0 0 3px #111; }
.pc-stars .review-count{ display:inline-flex; align-items:center; font-size:12px; color:#b69781; white-space:nowrap; }
.pc-stars .review-count::before{ content:"\2605\2605\2605\2605\2605"; color:#b69781; letter-spacing:2px; margin-right:6px; font-size:13px; line-height:1; }
/* product cards closer: smaller grid gutter (product grid only) + smaller inner margin */
#CollectionAjaxContent .grid--uniform{ margin-left:-12px !important; }
#CollectionAjaxContent .grid--uniform > .grid__item{ padding-left:12px !important; }
.eb-grid-product .eb-card-product-slide,
.eb-grid-product .product-card{ margin-left:2px !important; margin-right:2px !important; }
/* filter panel tighter still */
.collection-sidebar__group p.lg{ margin-bottom:3px !important; padding-top:3px !important; padding-bottom:1px !important; }
.collection-sidebar .collapsible-content__inner,
#CollectionSidebar .collapsible-content__inner{ padding-bottom:1px !important; }
.collection-sidebar .tag-list .tag,
#CollectionSidebar .tag-list .tag{ margin-bottom:1px !important; }
.collection-sidebar .tag__checkbox-wrapper,
#CollectionSidebar .tag__checkbox-wrapper{ padding-top:1px !important; padding-bottom:1px !important; }


/* ===== EB meta-row uniform height (Jack 2026-07-23): star cards were taller ===== */
.product-card__meta-row{ margin-top:8px !important; min-height:20px !important; align-items:center !important; }
.pc-stars{ display:inline-flex; align-items:center; }
.pc-stars .review-count{ line-height:1 !important; }
.pc-stars .review-count::before{ line-height:1 !important; font-size:12px !important; }
.pc-color-chips{ line-height:1 !important; }


/* ===== EB save10 hi-spec + desc minheight (Jack 2026-07-23) ===== */
body .site-header .site-nav__link.eb-save10-link{ font-size:13px !important; }
/* reserve ~2 desc lines so 1-line cards match 2-line cards in height */
.eb-grid-product .product-card__desc{ min-height:2.6em !important; }


/* ===== EB filter collapse v2 (Jack 2026-07-23): desktop-scoped, full hide, consistent arrow ===== */
#CollectionSidebar .eb-filter-collapsed .collapsible-content--sidebar{ display:none !important; max-height:none !important; height:auto !important; }
#CollectionSidebar p.lg.eb-filter-toggle{ cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
#CollectionSidebar p.lg.eb-filter-toggle::after{ content:''; width:7px; height:7px; margin-left:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-135deg); transition:transform .2s ease; flex:0 0 auto; }
#CollectionSidebar .eb-filter-collapsed p.lg.eb-filter-toggle::after{ transform:rotate(45deg); }


/* ===== EB chip tooltip (Jack 2026-07-23): show color name on hover ===== */
.pc-chip{ position:relative; }
.pc-chip::after{ content:attr(data-name); position:absolute; bottom:160%; left:50%; transform:translateX(-50%); background:#0f0f0f; color:#fff; font-family:'Monument-Grotesk',sans-serif; font-size:10px; letter-spacing:.02em; white-space:nowrap; padding:3px 7px; border-radius:3px; opacity:0; pointer-events:none; transition:opacity .12s ease; z-index:40; }
.pc-chip:hover::after{ opacity:1; }


/* ===== EB filter expand fix + meta-row tighten (Jack 2026-07-23) ===== */
/* expanded (not collapsed) groups: force full height so values show (they were pinned to height:0) */
#CollectionSidebar [class*="collection-sidebar__group--"]:not(.eb-filter-collapsed) .collapsible-content--sidebar{
  display:block !important; height:auto !important; max-height:none !important; overflow:visible !important;
}
/* star-rating row: less padding above/below */
.product-card__meta-row{ min-height:0 !important; margin-top:5px !important; margin-bottom:0 !important; }
.pc-stars, .pc-color-chips{ margin:0 !important; }


/* ===== EB nav link 13px (Jack 2026-07-23): About/Shop match Save 10% ===== */
body .site-header .site-nav__link{ font-size:13px !important; }


/* ===== EB meta-row pad v2 (Jack 2026-07-23): even less padding above/below chips+stars ===== */
.eb-grid-product .product-card__meta-row{ margin-top:2px !important; margin-bottom:0 !important; padding:0 !important; }
.eb-grid-product .product-card__desc{ margin-bottom:2px !important; }


/* ===== EB filter bulletproof + footer eyebrow (Jack 2026-07-23) ===== */
/* expanded filter groups: force fully visible regardless of theme collapsible JS (beats inline height/display) */
#CollectionSidebar [class*="collection-sidebar__group--"]:not(.eb-filter-collapsed) .collapsible-content--sidebar,
#CollectionSidebar [class*="collection-sidebar__group--"]:not(.eb-filter-collapsed) .collapsible-content__inner{
  display:block !important; height:auto !important; max-height:none !important; min-height:0 !important;
  overflow:visible !important; visibility:visible !important; opacity:1 !important;
}
#CollectionSidebar .eb-filter-collapsed .collapsible-content--sidebar{ display:none !important; }
/* footer column headers -> eyebrow font */
.footer-link-list-title{ font-family:'Monument-Grotesk',sans-serif !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; }


/* ===== EB footer legal align (Jack 2026-07-23): lower legal column to match menu items row ===== */
.footer-copyright{ margin-top:33px !important; }


/* ===== EB modal feature icons + padding v3 (Jack 2026-07-23) ===== */
/* feature/trust icons were sized only under body.template-product -> huge in the homepage quick-view. Size globally. */
.eb-feat svg{ width:16px !important; height:16px !important; flex:none !important; }
.modal--quick-shop .eb-feat-icons{ display:flex !important; flex-wrap:wrap !important; gap:12px !important; }
.modal--quick-shop .tool-tip-trigger svg{ width:16px !important; height:16px !important; }
.modal--quick-shop .product-block svg{ max-width:28px; max-height:28px; }
/* star/swatch row: reduce padding a bit more */
.eb-grid-product .product-card__meta-row{ margin-top:0 !important; }
.eb-grid-product .product-card__desc{ margin-bottom:1px !important; }


/* EB announcement text size (Jack 2026-07-23): slightly smaller free-shipping message */
.announcement-link-text, .announcement-slider__slide .announcement-link-text{ font-size:13px !important; }


/* ===== EB modal mirrors template-product (Jack 2026-07-23): apply PDP formatting inside the quick-view modal ===== */
/* --- Section rhythm: consistent vertical cadence between A+ blocks --- */
.modal--quick-shop .eb-product-spotlights { padding-block: 88px; }
.modal--quick-shop .eb-accordion { padding-block: 56px; }
/* --- Type hierarchy: section eyebrows + titles on the PDP --- */
.modal--quick-shop .eb-product-spotlights h2, .modal--quick-shop .eb-accordion h2 { font-family: "DrukCond-Super", sans-serif !important;
  text-transform: uppercase; letter-spacing: 0;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.02; }
/* Body copy: cap measure for readability */
.modal--quick-shop .eb-product-spotlights p { max-width: 62ch; }
/* --- Buy-box refinements (07-21) --- */
/* breathing room: under star reviews + above product title */
.modal--quick-shop .product-single__title { margin-top: 18px !important; }
.modal--quick-shop .review-rating { margin-bottom: 8px !important; }
/* variant option labels (Color / Size / Width) -> eyebrow standard */
.modal--quick-shop .variant__label, .modal--quick-shop .variant__label span { font-family:"Monument-Grotesk", sans-serif !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  font-size: 0.72rem !important; font-weight: 700 !important; color:#616161 !important; }
/* size buttons: narrower so they fit in <=2 rows */
.modal--quick-shop .variant-input-wrap[data-handle="size"] .variant__button-label, .modal--quick-shop .variant-input-wrap[data-index="option2"] .variant__button-label { min-width: 40px !important; padding-left: 6px !important; padding-right: 6px !important; }
/* --- Buy-box fixes v2 (07-21) --- */
/* size grid: 7 across so 14 sizes fit in 2 rows */
.modal--quick-shop .size-variant-input-wrap { grid-template-columns: repeat(var(--size-cols, 7), minmax(0,1fr)) !important; gap: 6px !important; }
.modal--quick-shop .size-variant-input-wrap .variant__button-label { min-width: 0 !important; padding: 8px 4px !important; }
/* width variant: hide when only one option (no 2nd .variant-input sibling) */
.modal--quick-shop .variant-wrapper:has(.variant-input-wrap[data-handle="width"]):not(:has(.variant-input ~ .variant-input)) { display: none !important; }
/* short description spacing */
.modal--quick-shop .eb-short-desc { margin: 6px 0 4px; font-family:"Monument-Grotesk",sans-serif; font-size:1rem; line-height:1.5; max-width:52ch; }
/* --- Buy-box fixes v3 (07-21) --- */
/* #1 white wordmark on black PDP nav (logo is a PNG -> invert) */
.modal--quick-shop .site-header img, .modal--quick-shop .site-header .image-element { filter: brightness(0) invert(1) !important; }
keep value) */
.modal--quick-shop .variant__label > span:first-child::after { content: ":"; }
.modal--quick-shop .variant__label-color { font-size: 0 !important; }
.modal--quick-shop .variant__label-color [data-variant-color-label] { font-size: 0.72rem !important; margin-left: 4px; }
/* #6a equal row/column gap on the size grid */
.modal--quick-shop .size-variant-input-wrap { row-gap: 8px !important; column-gap: 8px !important; }
.modal--quick-shop .size-variant-input-wrap .variant-input, .modal--quick-shop .size-variant-input-wrap label { margin: 0 !important; }
left-aligned --- */
.modal--quick-shop .eb-feat-icons { display:flex; flex-wrap:wrap; gap:9px 18px; margin:10px 0 2px; }
.modal--quick-shop .eb-feat { display:flex; align-items:center; gap:6px; }
.modal--quick-shop .eb-feat svg { width:16px; height:16px; color:#1a1a1a; flex:none; }
.modal--quick-shop .eb-feat > span { font-family:"Monument-Grotesk",sans-serif; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#1a1a1a; white-space:nowrap; }
black links (top-level stays white) --- */
.modal--quick-shop .site-nav__dropdown, .modal--quick-shop .site-nav__dropdown-container, .modal--quick-shop .site-nav__deep-dropdown { background-color:#ffffff !important; }
.modal--quick-shop .site-nav__dropdown-link, .modal--quick-shop .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { color:#1a1a1a !important; }
.modal--quick-shop .site-nav__dropdown-link:hover { color:#b69781 !important; }
/* --- ATC spacing + smaller installment text --- */
.modal--quick-shop .product-form__cart-submit, .modal--quick-shop .product-form__add-button, .modal--quick-shop .add-to-cart, .modal--quick-shop button[name="add"], .modal--quick-shop .btn--full { margin-top: 22px !important; }
.modal--quick-shop shopify-payment-terms, .modal--quick-shop .shopify-installments, .modal--quick-shop .shopify-payment-terms, .modal--quick-shop [class*="installment"] { font-size: 0.78rem !important; }
/* --- Fold language selector into the announcement banner (PDP) --- */
.modal--quick-shop .toolbar { display: none !important; }
.modal--quick-shop .announcement-bar { position: relative; }
.modal--quick-shop .announcement-locale { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); z-index: 6; }
.modal--quick-shop .announcement-locale .disclosure__toggle, .modal--quick-shop .announcement-locale a, .modal--quick-shop .announcement-locale button { font-family:"Monument-Grotesk",sans-serif !important; font-size:0.72rem !important; letter-spacing:0.04em; text-transform:uppercase; color: inherit !important; }
/* --- Native locale select in banner (clickable) --- */
.modal--quick-shop .announcement-locale .localization-form, .modal--quick-shop .announcement-locale form { margin:0; }
.modal--quick-shop .announcement-locale select { background:transparent; border:none; outline:none; font-family:"Monument-Grotesk",sans-serif; font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:inherit; cursor:pointer; padding:2px 4px; }
.modal--quick-shop .announcement-locale select option { color:#1a1a1a; }
lightbox --- */

.modal--quick-shop .ebg-hero { width:100%; background:#f4f1ec; }
.modal--quick-shop .ebg-hero-img { width:100%; height:auto; display:block; cursor:zoom-in; }
.modal--quick-shop .ebg-thumbs { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.modal--quick-shop .ebg-thumb { width:74px; height:74px; padding:0; border:1px solid #e3ded5; background:none; cursor:pointer; overflow:hidden; border-radius:2px; transition:border-color .15s; }
.modal--quick-shop .ebg-thumb.is-active { border-color:#1a1a1a; }
.modal--quick-shop .ebg-thumb img { width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; display:block; }
/* --- gallery isolated root + language dropdown arrow --- */
.modal--quick-shop .ebg-root { width:100%; }
.modal--quick-shop .announcement-locale { display:inline-flex; align-items:center; }
.modal--quick-shop .announcement-locale select { -webkit-appearance:none; appearance:none; padding-right:18px; }
.modal--quick-shop .announcement-locale::after { content:"\25BE"; position:absolute; right:4px; top:50%; transform:translateY(-50%); pointer-events:none; font-size:0.7rem; line-height:1; }
/* --- variant titles -> gray; size-guide link -> tan; equal size-grid gaps --- */
.modal--quick-shop .variant__label, .modal--quick-shop .variant__label > span:first-child, .modal--quick-shop .variant__label span, .modal--quick-shop .variant__label-color, .modal--quick-shop .variant__label-color [data-variant-color-label] { color:#616161 !important; }
.modal--quick-shop .variant__label-info, .modal--quick-shop .variant__label-info span, .modal--quick-shop .variant__label-info svg path { color:#b69781 !important; fill:#b69781 !important; stroke:#b69781 !important; }
/* size buttons fill their grid cell so column gap == row gap visually */
.modal--quick-shop .size-variant-input-wrap .variant-input, .modal--quick-shop .size-variant-input-wrap .variant-input-wrap > .variant-input, .modal--quick-shop .size-variant-input-wrap label.variant__button-label { width:100% !important; box-sizing:border-box; }
any viewport) --- */
html .modal--quick-shop .size-variant-input-wrap { grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; }
html .modal--quick-shop .size-variant-input-wrap .variant-input, html .modal--quick-shop .size-variant-input-wrap .variant__button-label { width:100% !important; max-width:none !important; min-width:0 !important; margin:0 !important; box-sizing:border-box; }
higher specificity) --- */
.modal--quick-shop .variant__label span.variant__label-info, .modal--quick-shop .variant__label span.variant__label-info span, .modal--quick-shop .variant__label span.variant__label-info a, .modal--quick-shop .variant__label span.variant__label-info svg path { color:#b69781 !important; fill:#b69781 !important; stroke:#b69781 !important; }
rating text = short-desc size --- */
.modal--quick-shop h1.product-single__title, .modal--quick-shop .product-single__title, .modal--quick-shop h1.h3.simple-header.product-single__title { font-family:"DrukCond-Super","Anton",sans-serif !important; }
.modal--quick-shop .product-single__title { margin-top:10px !important; }
.modal--quick-shop .review-rating, .modal--quick-shop .review-rating p, .modal--quick-shop .review-rating span, .modal--quick-shop .review-rating a { font-size:1rem !important; }
/* ============================================================
   FINAL PDP polish batch (07-21) — overrides prior conflicting rules
   ============================================================ */
/* variant titles -> black; size-guide text+icon -> light gray */
html .modal--quick-shop .variant__label, html .modal--quick-shop .variant__label > span, html .modal--quick-shop .variant__label span, html .modal--quick-shop .variant__label-color, html .modal--quick-shop .variant__label-color [data-variant-color-label] { color:#1a1a1a !important; }
html .modal--quick-shop .variant__label span.variant__label-info, html .modal--quick-shop .variant__label span.variant__label-info *, html .modal--quick-shop .variant__label-info, html .modal--quick-shop .variant__label-info * { color:#8a8a8a !important; fill:#8a8a8a !important; stroke:#8a8a8a !important; }
/* product title bigger + tighter gap to rating */
html .modal--quick-shop .product-single__title, html .modal--quick-shop h1.h3.simple-header.product-single__title { font-size:52px !important; margin-top:6px !important; line-height:1.02 !important; }
html .modal--quick-shop .review-rating { margin-bottom:6px !important; display:flex !important; align-items:center; gap:8px; }
render kraft filled stars (match reviews) */
html .modal--quick-shop .review-rating img { display:none !important; }
html .modal--quick-shop .review-rating::before { content:"\2605\2605\2605\2605\2605"; color:#b69781; font-size:17px; letter-spacing:2px; line-height:1; }
html .modal--quick-shop .review-rating p { margin:0 !important; }
/* remove the duplicate theme subtitle under the title (keep the standardized short desc) */
html .modal--quick-shop .product-block--header p.text-gray { display:none !important; }
/* nav type -> Druk display (match the headline font per style guide) */
html .modal--quick-shop .site-header .site-nav__link, html .modal--quick-shop .site-header .site-nav__dropdown-link--top-level { font-family:"DrukCond-Super","Anton",sans-serif !important; font-size:19px !important; font-weight:400 !important; letter-spacing:0.02em !important; text-transform:uppercase !important; }
/* price a little smaller */
html .modal--quick-shop .product__price, html .modal--quick-shop .price__regular .price-item, html .modal--quick-shop .price__sale .price-item, html .modal--quick-shop .product-single__price, html .modal--quick-shop [class*=price-item] { font-size:1.35rem !important; }
/* variant title BLACK — max specificity to beat the :first-child gray rule */
html .modal--quick-shop .variant-wrapper .variant__label > span:first-child, html .modal--quick-shop .variant-wrapper .variant__label, html .modal--quick-shop .variant-wrapper .variant__label-color, html .modal--quick-shop .variant-wrapper .variant__label-color [data-variant-color-label] { color:#1a1a1a !important; }
contrasts the Druk wordmark */
html .modal--quick-shop .site-header .site-nav__link, html .modal--quick-shop .site-header .site-nav__dropdown-link--top-level { font-family:"Monument-Grotesk",sans-serif !important; font-size:15px !important; font-weight:600 !important; letter-spacing:0.06em !important; text-transform:uppercase !important; }
/* size-guide icon -> gray to match its label */
html .modal--quick-shop .variant__label-info svg, html .modal--quick-shop .variant__label-info svg path, html .modal--quick-shop .variant__label-info svg * { fill:#8a8a8a !important; stroke:#8a8a8a !important; color:#8a8a8a !important; }
/* title -> price gap == stars -> title (6px) */
html .modal--quick-shop .product-single__title { margin-bottom:6px !important; }
html .modal--quick-shop .product-block--price, html .modal--quick-shop .product__price { margin-top:6px !important; }
/* size-guide icon gray — max specificity to beat the earlier tan rule */
html .modal--quick-shop .variant__label span.variant__label-info svg path, html .modal--quick-shop .variant__label span.variant__label-info svg g path, html .modal--quick-shop .variant__label-info svg path, html .modal--quick-shop .variant__label-info svg g path { fill:#8a8a8a !important; stroke:#8a8a8a !important; }
/* one star set: hide the duplicate review-rating block (both get the ::before) */
html .modal--quick-shop .review-rating:has(.review-rating)::before { content:none !important; }
/* equalize + tighten star->title and title->price (both ~8px) */
html .modal--quick-shop .review-rating { margin-bottom:0 !important; }
html .modal--quick-shop .product-single__title { margin-top:8px !important; margin-bottom:8px !important; }
html .modal--quick-shop .product-block--price, html .modal--quick-shop .product__price { margin-top:0 !important; }
/* size buttons: fit cell (no overflow) so 8px gap shows on ALL sides; equal H/V */
html .modal--quick-shop .size-variant-input-wrap { grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; gap:8px !important; }
html .modal--quick-shop .size-variant-input-wrap .variant-input, html .modal--quick-shop .size-variant-input-wrap .variant__button-label { width:100% !important; height:auto !important; margin:0 !important; padding:10px 4px !important; box-sizing:border-box !important; }
/* more space above the WIDTH variant group */
html .modal--quick-shop .variant-wrapper:has(.variant-input-wrap[data-handle="width"]) { margin-top:18px !important; }
/* less space above Add to Cart */
html .modal--quick-shop .btn--full, html .modal--quick-shop .add-to-cart, html .modal--quick-shop button[name="add"], html .modal--quick-shop .product-form__cart-submit { margin-top:12px !important; }
/* product title a bit bigger */
html .modal--quick-shop .product-single__title, html .modal--quick-shop h1.h3.simple-header.product-single__title { font-size:58px !important; }
rows size to content) */
html .modal--quick-shop .size-variant-input-wrap { display:grid !important; grid-template-columns:repeat(var(--size-cols,7),minmax(0,1fr)) !important; gap:8px !important; grid-auto-rows:1fr !important; align-items:stretch !important; }
html .modal--quick-shop .size-variant-input-wrap .variant-input { margin:0 !important; padding:0 !important; height:auto !important; display:flex !important; }
html .modal--quick-shop .size-variant-input-wrap .variant__button-label { flex:1 1 auto !important; display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; margin:0 !important; padding:12px 4px !important; box-sizing:border-box !important; min-height:0 !important; }
/* buy-box: tighten title -> price gap */
.modal--quick-shop .eb-product-header .product-single__title { margin-bottom:4px !important; }
.modal--quick-shop .eb-product-header { gap:4px !important; }
/* buy-box: equalize width + size button heights (single line ~38px) */
.modal--quick-shop .variant__button-label { min-height:38px !important; height:38px !important; padding:0 14px !important; display:flex !important; align-items:center !important; justify-content:center !important; white-space:nowrap !important; line-height:1 !important; box-sizing:border-box !important; }
.modal--quick-shop .size-variant-input-wrap .variant-input, .modal--quick-shop [class*="size"] .variant-input { height:38px !important; }
wordmark === */
/* kill the empty spacer div (mb:30px) between title and price */
.modal--quick-shop .eb-product-header > div:empty { display:none !important; margin:0 !important; }
/* size grid: rows = 38px to match Regular width button (was 1fr -> 44px) */
.modal--quick-shop .size-variant-input-wrap { grid-auto-rows:38px !important; }
.modal--quick-shop .size-variant-input-wrap .variant-input { height:38px !important; }
/* wordmark: cover img + image-element + svg */

/* === EB round 13: force size cell 38 === */
.modal--quick-shop .variant-input-wrap.size-variant-input-wrap { grid-auto-rows:38px !important; grid-template-rows:unset !important; align-items:stretch !important; }
.modal--quick-shop .variant-input.size-variant-input { height:38px !important; min-height:38px !important; max-height:38px !important; }
.modal--quick-shop .variant-input.size-variant-input .variant__button-label { height:38px !important; min-height:38px !important; max-height:38px !important; padding:0 !important; }
/* ===== EB modal feature icons + padding v3 (Jack 2026-07-23) ===== */
/* feature/trust icons were sized only under .modal--quick-shop -> huge in the homepage quick-view. Size globally. */
.eb-feat svg { width:16px !important; height:16px !important; flex:none !important; }


/* ===== EB star row pad v4 (Jack 2026-07-23): tightest above/below chips+stars ===== */
.eb-grid-product .product-card__desc{ min-height:0 !important; margin-bottom:6px !important; }
.eb-grid-product .product-card__meta-row{ margin-top:0 !important; margin-bottom:0 !important; }
.eb-grid-product .product-card{ padding-bottom:12px !important; }


/* ===== EB modal dup-stars fix (Jack 2026-07-23): mirror added an extra ::before star set in the modal ===== */
html .modal--quick-shop .review-rating::before{ content:none !important; display:none !important; }


/* ===== EB fractional card stars (Jack 2026-07-23): partial-fill the last star ===== */
.pc-stars{ display:inline-flex; align-items:center; gap:6px; }
.pc-stars .review-count::before{ content:none !important; }  /* remove old solid 5-star ::before */
.pc-stars__glyph{ position:relative; display:inline-block; font-size:13px; line-height:1; letter-spacing:2px; white-space:nowrap; }
.pc-stars__glyph::before{ content:"\2605\2605\2605\2605\2605"; color:#d9d2c7; }
.pc-stars__glyph::after{ content:"\2605\2605\2605\2605\2605"; color:#b69781; position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; width:var(--pct,100%); }
.pc-stars .review-count{ color:#8a8a8a; font-size:12px; }


/* ===== EB pdp back link (Jack 2026-07-23): replace breadcrumb trail w/ '< back to last collection' ===== */
.eb-pdp-back{ display:inline-flex; align-items:center; gap:9px; font-family:'Monument-Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#5a5a5a; text-decoration:none; }
.eb-pdp-back::before{ content:''; width:7px; height:7px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); display:inline-block; }
.eb-pdp-back:hover{ color:#1a1a1a; }


/* ===== EB frac-stars shared + PDP nav 13px (Jack 2026-07-23) ===== */
.eb-frac-stars{ position:relative; display:inline-block; font-size:16px; line-height:1; letter-spacing:2px; white-space:nowrap; }
.eb-frac-stars::before{ content:"\2605\2605\2605\2605\2605"; color:#d9d2c7; }
.eb-frac-stars::after{ content:"\2605\2605\2605\2605\2605"; color:#b69781; position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; width:var(--pct,100%); }
/* PDP nav text same size as home/collection (13px) */
html body.template-product .site-header .site-nav__link{ font-size:13px !important; }


/* ===== EB PDP star dup + back pad (Jack 2026-07-23) ===== */
/* kill the old ::before star set on PDP review-rating (we now render .eb-frac-stars) */
html body.template-product .review-rating::before{ content:none !important; display:none !important; }
/* padding under the PDP back-link */
.eb-pdp-back{ margin-top:2px !important; margin-bottom:16px !important; }


/* ===== EB reviews widget + banner wrap (Jack 2026-07-23) ===== */
/* --- Ryviu review widget: brand star colors (was #fdbc00 yellow / #e6e6e6) --- */
.r--stars-item{ --rstact-cl:#b69781 !important; --rst-cl:#d9d2c7 !important; }
/* (blanket .r--stars-icon color removed; color driven by --rst-cl/--rstact-cl vars) */
/* --- Ryviu stars: unify SHAPE to Unicode star (matches card .pc-stars + PDP .eb-frac-stars) --- */
/* ryviu ::before shape moved to high-specificity block below */
/* --- Ryviu "Write a Review" button: was white-on-cream (invisible) --- */
.Ryviu-Write-Button, button.Ryviu-Write-Button, .r--button.Ryviu-Write-Button{
  color:#1a1a1a !important; border:1px solid #1a1a1a !important; background:transparent !important;
  transition:background .18s ease,color .18s ease;
}
.Ryviu-Write-Button:hover, button.Ryviu-Write-Button:hover{ background:#1a1a1a !important; color:#fff !important; }
/* --- Collection banner: let a long title wrap to 2 lines instead of cropping the tiles --- */
body .eb-coll-titlerow .eb-coll-title{
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:50% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  line-height:0.92 !important;
}


/* ===== EB star SHAPE unify + ryviu specificity (Jack 2026-07-23) ===== */
/* one font stack for every star glyph -> identical silhouette on card, PDP, widget */
.eb-frac-stars, .eb-frac-stars::before, .eb-frac-stars::after,
.pc-stars__glyph, .pc-stars__glyph::before, .pc-stars__glyph::after{
  font-family:"Arial","Helvetica Neue",Helvetica,sans-serif !important;
}
/* html body prefix beats Ryviu app CSS (loads after ours, single-class !important) */
html body .r--stars-icon, html body .r--stars-icon::before{
  font-family:"Arial","Helvetica Neue",Helvetica,sans-serif !important;
  font-style:normal !important;
}
html body .r--stars-icon::before{ content:"\2605" !important; line-height:1 !important; }
/* Write-a-Review button visible on cream (was white text + white border) */
html body .Ryviu-Write-Button, html body button.Ryviu-Write-Button, html body .r--button.Ryviu-Write-Button{
  color:#1a1a1a !important; border:1px solid #1a1a1a !important; background:transparent !important;
  transition:background .18s ease,color .18s ease;
}
html body .Ryviu-Write-Button:hover, html body button.Ryviu-Write-Button:hover{
  background:#1a1a1a !important; color:#fff !important;
}


/* ===== EB ryviu button hi-spec (Jack 2026-07-23) ===== */
/* Ryviu uses .r--button.Ryviu-Write-Button (2 classes) — out-specify with html body + 2 classes */
html body .r--button.Ryviu-Write-Button,
html body div .r--button.Ryviu-Write-Button{
  color:#1a1a1a !important; border:1px solid #1a1a1a !important; background:transparent !important;
}
html body .r--button.Ryviu-Write-Button:hover,
html body div .r--button.Ryviu-Write-Button:hover{
  background:#1a1a1a !important; color:#fff !important;
}
html body .r--button.Ryviu-Write-Button *{ color:inherit !important; }


/* ===== EB ryviu button solid id (Jack 2026-07-23) ===== */
/* Button text is locked white via inline !important on inner span -> give a solid dark brand fill
   (matches site primary buttons). Orange #ffb102 was off-brand; transparent left white-on-cream invisible.
   id #show-modal outranks all class rules. */
html body button#show-modal.Ryviu-Write-Button{
  background:#1a1a1a !important; border:1px solid #1a1a1a !important; color:#fff !important;
  transition:background .18s ease,border-color .18s ease;
}
html body button#show-modal.Ryviu-Write-Button:hover{
  background:#b69781 !important; border-color:#b69781 !important;
}
html body button#show-modal.Ryviu-Write-Button span,
html body button#show-modal.Ryviu-Write-Button .r--text-write{ color:#fff !important; }


/* ===== EB banner tighten gap + wrap (Jack 2026-07-23) ===== */
/* Cap title < width of "CONSTRUCTION WORK" (477px@100px) so a 2nd word drops to line 2;
   >= "CONSTRUCTION" (335) so each line still fits. min() keeps mobile from over-narrowing. */
body .eb-coll-titlerow .eb-coll-title{ max-width:min(440px, 90%) !important; }
/* Tiles hug the title instead of right-aligning (kills the big middle gap) */
body .eb-coll-titlerow .eb-coll-tiles{ justify-content:flex-start !important; }
body .eb-coll-titlerow{ gap:40px !important; }


/* ===== EB banner title fit-content (Jack 2026-07-23) ===== */
/* box hugs wrapped text width (~335) instead of holding the full 440 cap -> tighter gap to tiles */
body .eb-coll-titlerow .eb-coll-title{ width:fit-content !important; }


/* ===== EB banner cap 360 tight (Jack 2026-07-23) ===== */
body .eb-coll-titlerow .eb-coll-title{ max-width:min(360px, 90%) !important; width:auto !important; }

/* ===== EB title min-width floor (Jack 2026-07-27) =====
   overflow-wrap:break-word (added earlier so long titles wrap between words, not overflow)
   has a side effect: it lets flexbox shrink the title's shrink-to-fit width below the widest
   SINGLE WORD, so at some viewport widths a lone word like "PRODUCTS" gets split mid-word
   ("PRODUCT"/"S"). Floor the width so no real collection title word gets squeezed that far. */
body .eb-coll-titlerow .eb-coll-title{ min-width:250px !important; }
body .eb-coll-titlerow{ gap:32px !important; }


/* ===== EB banner re-right-align (Jack 2026-07-23) ===== */
/* Restore right-edge alignment of the tile row (flex-start had left-packed it).
   Narrow 2-line title keeps the title->tiles gap small; last tile hugs page edge. */
body .eb-coll-titlerow .eb-coll-tiles{ justify-content:flex-end !important; }


/* ===== EB tile ring clip fix (Jack 2026-07-23) ===== */
/* overflow-x:auto was clipping the active tile's selection ring at the right edge.
   Give the scroll box a few px of padding so the ring clears the clip. */
body .eb-coll-titlerow .eb-coll-tiles{ padding:6px !important; scroll-padding-inline:6px !important; }


/* ===== EB mobile header polish round 2 (Jack 2026-07-28) =====
   Appended at the true end of the file so these unambiguously win any cascade tie
   against earlier rounds (several earlier fixes this session lost silently to
   pre-existing unconditional !important rules of equal specificity that just
   happened to appear later in the file -- source order broke the tie, not
   specificity). Anything below here is the final word for these selectors. */

/* Kathrine wanted hamburger on the LEFT, cart/account on the RIGHT (opposite of
   what the first pass shipped). The header-layout uses flex-direction:row-reverse
   by theme default, which is WHY icons (last in DOM) rendered first/left and nav
   (first in DOM) rendered last/right -- overriding justify-content alone can't
   swap which side an item is on, only where content sits within its own box.
   Simplest fix: force normal row direction on mobile, then pin each box's content
   to the true outer edge it now occupies. */
@media (max-width:768px){
  body .header-layout{ flex-direction:row !important; }
  body .header-item--navigation{ justify-content:flex-start !important; }
  body .header-item--icons{ justify-content:flex-end !important; }
}

/* Collection title -> tiles gap: still noticeably large after the empty
   #eb-active-filters fix (that removed the accidental DOUBLE gap, but the
   remaining single gap was inherited from an unconditional 'gap:32px !important'
   rule elsewhere in this file that -- despite being inside its own !important --
   was declared AFTER the mobile-scoped 18px attempt earlier, so it won on source
   order). Tightened further per Kathrine's "still a little too much space" and
   placed last so it actually sticks this time. */
@media (max-width:768px){
  body .eb-coll-titlerow{ gap:14px !important; }
}

/* Sort control ("BEST SELLING") sat ~8-10px above the shared baseline of the
   breadcrumb and product count on the same row. Proper flex/align-items centering
   on the wrapper chain closed most of the gap but not all of it -- something else
   in this file's long history of subbar/sort tweaks still pins it slightly high
   by a fixed amount, so closing the remainder with a direct, measured nudge rather
   than continuing to chase the cascade. */
@media (max-width:768px){
  body .eb-coll-sort-slot{ display:flex !important; align-items:center !important; }
  body .eb-coll-sort-slot .collection-filter__item--sort{ display:flex !important; align-items:center !important; }
  body .eb-coll-sort-slot .collection-filter__sort-container{ margin-top:8px !important; }
}


/* ===== EB mobile filter+sort inline pair (Jack 2026-07-28) =====
   Companion to the eb-mobile-filter-sort-inline script in theme.liquid, which moves
   .collection-filter__item--sort into .collection-filter alongside the FILTER
   button on mobile. The theme already flexes both items 48/48 -- this just makes
   the sort control LOOK like a matching black pill instead of its old bordered-chip
   desktop-subbar styling (which stays correct for whenever it lives back in
   .eb-coll-sort-slot on desktop -- untouched, this block is mobile-only). */
@media (max-width:768px){
  body .collection-filter{ display:flex !important; gap:8px !important; }
  body .collection-filter__item--drawer,
  body .collection-filter__item--sort{ flex:1 1 0 !important; margin-bottom:0 !important; }
  body .collection-filter__item--sort .collection-filter__sort-container{
    display:flex !important; align-items:center !important; justify-content:center !important;
    background:#000 !important; color:#fff !important; border-radius:100px !important; height:44px !important;
    padding:9.5px 16px !important; font-size:15px !important; font-weight:700 !important; text-transform:uppercase !important;
    border:none !important; width:100% !important; box-sizing:border-box !important;
  }
  body .collection-filter__item--sort .collection-filter__sort-container svg path{ stroke:#fff !important; }
  body .collection-filter__item--sort .collection-filter__sort-container select{ color:#fff !important; background:transparent !important; }
  body .collection-filter__item--sort .collection-filter__sort-container::after{ color:#fff !important; }
}


/* ===== EB filter+sort pill polish round 2 (Jack 2026-07-28) =====
   Match text styling to the breadcrumb/count row, fix the sort icon (was still
   dark -- an old desktop-era 'stroke:#5a5a5a' rule doesn't touch it since this
   icon is fill-based, not stroke-based, so it kept rendering near-black against
   the black pill), and rebalance the vertical spacing (was too much above, none
   below -- .collection-filter is position:sticky with its own top offset baked
   into the theme, so margin-top is ADDITIVE to that, not a replacement; a
   negative value was needed to actually pull it up). */
@media (max-width:768px){
  body .collection-filter{ margin-top:-6px !important; margin-bottom:20px !important; }
  body .js-drawer-open-collection-filters,
  body .collection-filter__item--sort .collection-filter__sort-container{
    font-family:"Monument Grotesk", sans-serif !important; font-size:12px !important; font-weight:600 !important;
    letter-spacing:0.72px !important; text-transform:uppercase !important;
  }
  body .collection-filter__item--sort .collection-filter__sort-container svg path{ fill:#fff !important; stroke:none !important; }
}


/* ===== EB filter+sort pill polish round 3 (Jack 2026-07-28) =====
   1) The <select> element itself had its own font-size:9px, separate from the
      .collection-filter__sort-container wrapper I sized earlier -- that wrapper's
      font-size never touches the select's own text.
   2) Kathrine wants both pills full-width, matching the product-card grid's own
      width/gutter exactly. Relying on flex-grow (flex:1 1 0) landed on the wrong
      widths for reasons never fully explained (measured narrower than the flex
      math predicted, by an amount matching the gap value, as if it were counted
      twice) -- switched to explicit calc(50% - 8px) widths instead, which is
      predictable. Needed flex-wrap:nowrap too (the calc'd widths summed to
      *exactly* 100%, and sub-pixel rounding was enough to trigger a wrap).
   3) Both filter items had a leftover margin-right:16px (unclear which round added
      it) stacking with the new gap:16px for a doubled 32px visual gap -- zeroed. */
@media (max-width:768px){
  body .collection-filter{ justify-content:flex-start !important; gap:16px !important; flex-wrap:nowrap !important; }
  body .collection-filter__item--drawer,
  body .collection-filter__item--sort{
    flex:0 0 calc(50% - 8px) !important; width:calc(50% - 8px) !important; max-width:none !important; margin:0 !important;
  }
  body .js-drawer-open-collection-filters{ width:100% !important; }
  body .collection-filter__item--sort .collection-filter__sort-container select{ font-size:12px !important; }
}


/* EB: FILTER button content was left-aligned (theme default justify-content:normal),
   while the sort pill was already centered from an earlier fix -- mismatched once
   both became full-width. Center FILTER's icon+text to match. (Jack 2026-07-28) */
@media (max-width:768px){
  body .js-drawer-open-collection-filters{ justify-content:center !important; }
}


/* EB: sort pill's centering relied on field-sizing:content (a very new CSS
   property, likely unsupported in older/non-Chromium browsers) to shrink the
   <select> to its text width before the flex-container's justify-content:center
   could center the group. If field-sizing silently fails, the select falls back
   to filling more space and its own default left-aligned text renders off-center.
   Added explicit text-align:center on the select itself as a robust fallback that
   doesn't depend on field-sizing support. (Jack 2026-07-28) */
@media (max-width:768px){
  body .collection-filter__item--sort .collection-filter__sort-container select{ text-align:center !important; }
  body .collection-filter__item--sort .collection-filter__sort-container{ justify-content:center !important; gap:6px !important; }
}


/* EB: sort pill icon (18x20) was noticeably bigger than the FILTER icon (16x16),
   and the icon+text weren't grouping/centering together the way FILTER's do --
   both traced to the <select> relying on field-sizing:content for its width,
   which apparently doesn't size it as tightly/predictably as expected. Switched
   to width:fit-content (much more broadly supported, hugs the text tightly),
   matched icon size to 16x16, kept field-sizing as a harmless coexisting hint
   for browsers that do support it. (Jack 2026-07-28) */
@media (max-width:768px){
  body .collection-filter__item--sort .collection-filter__sort-container svg{ width:16px !important; height:16px !important; }
  body .collection-filter__item--sort .collection-filter__sort-container select{ width:fit-content !important; flex:0 0 auto !important; }
  body .collection-filter__item--sort .collection-filter__sort-container{ justify-content:center !important; gap:8px !important; }
}


/* EB filter+sort pill polish round 4 (Jack 2026-07-28): icons still visually
   large relative to the 12px text, and gap between icon and text differed
   between the two pills (FILTER inherited the theme's 16px gap, sort pill had
   an earlier 8px override) -- unified both to 14px icons / 8px gap. Also
   rebalanced margin now that .collection-filter sits above .eb-coll-subbar
   (see the theme.liquid swap script) instead of below it. */
@media (max-width:768px){
  body .js-drawer-open-collection-filters svg,
  body .collection-filter__item--sort .collection-filter__sort-container svg{ width:14px !important; height:14px !important; }
  body .js-drawer-open-collection-filters{ gap:8px !important; }
  body .collection-filter__item--sort .collection-filter__sort-container{ gap:8px !important; }
  body .collection-filter{ margin-top:0 !important; margin-bottom:15px !important; }
}


/* EB filter+sort pill polish round 5 (Jack 2026-07-28): the select's text-align:center
   was centering within the SELECT ELEMENT'S OWN box, which native <select>s size to
   fit their WIDEST option (not the selected one) -- so "Best Selling" sat centered in
   a box built for a longer option string, reading as a big gap after the icon. Switched
   to text-align:left so the visible text sits flush against the icon+gap regardless of
   the select's internal box width. Also: Kathrine flagged there's no pill-shaped
   anything else on the site (confirmed -- only the checkout button and scroll arrows
   have any radius at all, 4px and 50% respectively) -- squared FILTER/SORT to 6px,
   matching the collection-tile radius used elsewhere at similar UI scale. */
@media (max-width:768px){
  body .collection-filter__item--sort .collection-filter__sort-container select{ text-align:left !important; }
  body .js-drawer-open-collection-filters,
  body .collection-filter__item--sort .collection-filter__sort-container{ border-radius:6px !important; }
}
