/* Catalog uses the template's navy, rose, typography and button geometry. */
[data-shop-catalog] #catalog {
  --midnight-blue: #032246;
  --rosy-brown: #c99b8f;
  --sienna: #906c63;
  --misty-rose: #e4c6be;
  --transparent-20: #906c6333;
  --transparent-30: #906c634d;
  --transparent-50: #906c6380;
  --footer-black: #070504;
  --dim-grey: #5f453e;
  --white: #fff;
  color: var(--midnight-blue);
}
[data-shop-catalog] #catalog .two-column-container {
  width: 87.5%; padding: 0; gap: clamp(24px, 3vw, 56px); margin-inline: auto;
}
#catalog .vertical-content-wrapper { padding-inline: 6.25%; }
#catalog .heading.is-grid-title-2 { color: var(--midnight-blue); }
#catalog .product-viewer { min-width: 0; }
#catalog .products-grid._4x { gap: 40px 24px; }
#catalog .product { margin: 0; padding: 0; min-width: 0; }
#catalog .product-link { padding: 0; gap: 18px; height: 100%; border: 0; background: transparent; }
#catalog .product-title { gap: 10px; padding-bottom: 16px; }
#catalog .heading.is-product-title { color: var(--midnight-blue); font-size: 1.5em; line-height: 1.12; }
#catalog .product-title:hover .heading { color: var(--sienna); }
#catalog .product-featured { border: 0; border-radius: 0; background: transparent; color: var(--sienna); padding: 0; font-size: .68em; }
#catalog .product-line { background-color: var(--transparent-30); }
#catalog .product-prices { color: var(--midnight-blue); gap: 12px; }
#catalog .product-prices > .icon { display: none; }
#catalog .product-price { color: inherit; }
#catalog .shop-results-count { color: var(--sienna); font-size: .9em; margin-bottom: 24px; }
#catalog .default-state._4x { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 10px; width: 100%; }
#catalog .quantity { width: 100%; height: 56px; min-height: 56px; padding: 10px; text-align: center; border: 1px solid var(--transparent-50); border-radius: 3px; background: transparent; color: var(--midnight-blue); }
#catalog .catalog-cart-button-shell { position: relative; min-width: 0; }
#catalog .add-to-cart-button {
  width: 100%; height: 56px; min-height: 56px; padding: 10px 46px 10px 14px;
  border: 1px solid var(--transparent-50); border-radius: 3px; background: var(--footer-black);
  color: var(--rosy-brown); font-family: 'Big Shoulders Text', Impact, sans-serif;
  font-size: 14px; font-weight: 500; letter-spacing: .12em; text-indent: 0; line-height: 1.3;
  transition: color .2s, background-color .2s, border-color .2s;
}
#catalog .add-to-cart-button:hover { background: var(--dim-grey); color: var(--misty-rose); border-color: var(--misty-rose); }
#catalog .catalog-cart-button-shell > .button-icon { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); margin: 0; width: 22px; height: 24px; pointer-events: none; }
#catalog .catalog-cart-button-shell .button-hexagon { width: 22px; height: 24px; filter: none; }
#catalog .catalog-cart-button-shell .button-arrow { width: 14px; filter: none; transition: transform .2s; }
#catalog .catalog-cart-button-shell:hover .button-arrow { transform: translateX(2px); }
#catalog .product-detail-button { grid-column: 1 / -1; }
#catalog :is(button,input,a):focus-visible { outline: 2px solid var(--rosy-brown); outline-offset: 3px; }
#catalog #catalog-filter-panel { width: 240px; min-width: 240px; max-width: 240px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: var(--midnight-blue); }
#catalog-filter-panel .catalog-filter-search-section { background: transparent; padding: 0 0 24px; border: 0; }
#catalog-filter-panel .catalog-filter-kicker { color: var(--sienna); font: 500 12px/1.4 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .2em; margin-bottom: 12px; }
#catalog-filter-panel .catalog-filter-search-row { grid-template-columns: minmax(0,1fr) 70px; gap: 8px; }
#catalog-filter-panel .catalog-filter-search-input { height: 46px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--transparent-50); border-radius: 0; background: transparent; color: var(--midnight-blue); font: 14px/1.4 'Source Sans Pro',sans-serif; letter-spacing: 0; margin: 0; }
#catalog-filter-panel .catalog-filter-search-input::placeholder { color: var(--sienna); opacity: .8; }
#catalog-filter-panel .catalog-filter-search-button { height: 46px; margin: 0; padding: 8px; border: 1px solid var(--transparent-50); border-radius: 3px; background: var(--footer-black); color: var(--rosy-brown); font: 500 13px/1.3 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .12em; }
#catalog-filter-panel .catalog-filter-search-button:hover { background: var(--dim-grey); }
#catalog-filter-panel .catalog-filter-native-section { margin: 0; padding: 0; width: 100%; border: 0; border-top: 1px solid var(--transparent-30); }
#catalog-filter-panel .catalog-filter-native-toggle { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; min-height: 58px; padding: 14px 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--midnight-blue); font: 500 17px/1.3 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
#catalog-filter-panel .catalog-filter-native-minus { width: 20px; flex: 0 0 20px; color: var(--sienna); font: 24px/1 'Source Sans Pro',sans-serif; text-align: center; }
#catalog-filter-panel .catalog-filter-native-list { padding: 0 0 18px; margin: 0; gap: 0; }
#catalog-filter-panel .shop-filter-option { min-height: 40px; display: flex; align-items: center; margin: 0; padding: 6px 0; gap: 12px; border: 0; background: transparent; color: var(--midnight-blue); font: 15px/1.4 'Source Sans Pro',sans-serif; }
#catalog-filter-panel .catalog-filter-native-text { font: inherit; color: inherit; letter-spacing: 0; text-transform: none; }
#catalog-filter-panel .shop-filter-checkbox { appearance: none; flex: 0 0 17px; width: 17px; height: 17px; margin: 0; border: 1px solid var(--transparent-50); border-radius: 0; background: transparent; cursor: pointer; }
#catalog-filter-panel .shop-filter-checkbox:checked { border-color: var(--sienna); background: var(--sienna); box-shadow: inset 0 0 0 3px white; }
#catalog-filter-panel .catalog-filter-actions { position: static; width: 100%; padding: 22px 0 0; margin: 0; gap: 14px; grid-template-columns: 1fr; border: 0; border-top: 1px solid var(--transparent-30); background: transparent; box-shadow: none; backdrop-filter: none; }
#catalog-filter-panel .catalog-filter-apply { min-width: 0; min-height: 56px; height: auto; padding: 16px; font: 500 14px/1.3 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .12em; border: 1px solid var(--transparent-50); border-radius: 3px; background: var(--footer-black); color: var(--rosy-brown); }
#catalog-filter-panel .catalog-filter-apply:hover { background: var(--dim-grey); color: var(--misty-rose); }
#catalog-filter-panel .catalog-filter-reset { min-height: 32px; padding: 4px; border: 0; border-radius: 0; background: transparent; color: var(--sienna); font: 500 13px/1.3 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .1em; text-decoration: underline; text-underline-offset: 5px; }
#catalog-filter-panel .catalog-filter-reset:hover { color: var(--midnight-blue); background: transparent; }
@media (max-width: 1199px) and (min-width: 992px) {
  #catalog #catalog-filter-panel { width: 210px; min-width: 210px; max-width: 210px; }
}
@media (max-width: 991px) {
  [data-shop-catalog] #catalog .two-column-container { width: 88%; }
  #catalog .catalog-filter-toolbar { width: 88%; margin: 0 auto 28px; padding: 0; background: white; box-shadow: none; }
  #catalog .catalog-filter-trigger { border: 1px solid var(--transparent-50); border-radius: 3px; background: white; color: var(--midnight-blue); padding: 16px 20px; font: 500 16px/1.3 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .12em; }
  #catalog .catalog-filter-count { color: var(--sienna); font: 500 12px/1.4 'Big Shoulders Text',Impact,sans-serif; letter-spacing: .1em; }
  #catalog #catalog-filter-panel { position: fixed; z-index: 10000; inset: 0 0 0 auto; width: min(100%,440px); min-width: 0; max-width: 100%; height: 100dvh; max-height: 100dvh; padding: 0 28px; background: white; box-shadow: none; border-left: 1px solid var(--transparent-30); overflow-y: auto; overscroll-behavior: contain; }
  #catalog-filter-panel .catalog-filter-header { display: flex; position: sticky; top: 0; min-height: 94px; margin: 0 -28px 24px; padding: max(20px,env(safe-area-inset-top)) 28px 20px; background: white; border-bottom: 1px solid var(--transparent-30); backdrop-filter: none; }
  #catalog-filter-panel .catalog-filter-title { color: var(--midnight-blue); font: 32px/1.1 Caudex,'Times New Roman',serif; text-transform: none; letter-spacing: 0; margin-bottom: 6px; }
  #catalog-filter-panel .catalog-filter-close { position: relative; display: flex; width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 0; background: transparent; color: var(--sienna); font: 28px/1 'Source Sans Pro',sans-serif; }
  #catalog-filter-panel .catalog-filter-close img { position: absolute; width: 38px; height: 42px; }
  #catalog-filter-panel .catalog-filter-close:hover { color: var(--midnight-blue); background: transparent; }
  #catalog-filter-panel .catalog-filter-search-section { padding-bottom: 24px; background: transparent; }
  #catalog-filter-panel .catalog-filter-native-section { margin: 0; padding: 0; width: 100%; }
  #catalog-filter-panel .catalog-filter-actions { position: sticky; bottom: 0; z-index: 5; width: calc(100% + 56px); margin: 0 -28px; padding: 18px 28px calc(18px + env(safe-area-inset-bottom)); background: white; border-top: 1px solid var(--transparent-30); }
  #catalog-filter-panel .shop-filter-option { min-height: 44px; }
  #catalog .products-grid._4x { column-gap: 24px; }
}
@media (max-width: 600px) {
  #catalog .products-grid._4x { row-gap: 40px; }
  #catalog .product-link { padding: 0; }
  #catalog .heading.is-product-title { font-size: 1.8em; }
}


#catalog-filter-panel .catalog-filter-apply { justify-content: center; }
