  /* === SS SHOP HERO POTTERY === */
  .post-type-archive-product .hero-section[data-type="type-2"],
  .tax-product_cat .hero-section[data-type="type-2"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  --ss-phi: 1.618;
  --ss-phi-inv: 0.618;
  --min-height: 240px !important;
  --container-padding: 26px 0 !important;
  min-height: 248px !important;
  }
  /* Kill residual parallax transforms if theme JS still touches a cached markup */
  .post-type-archive-product .hero-section[data-type="type-2"] .ct-media-container,
  .tax-product_cat .hero-section[data-type="type-2"] .ct-media-container {
  height: 100% !important;
  }
  .post-type-archive-product .hero-section[data-type="type-2"] .ct-media-container img,
  .tax-product_cat .hero-section[data-type="type-2"] .ct-media-container img {
  transform: none !important;
  object-fit: cover;
  width: 100%;
  height: 100%;
  }
  .post-type-archive-product .hero-section[data-type="type-2"]::after,
  .tax-product_cat .hero-section[data-type="type-2"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
  linear-gradient(
  90deg,
  rgba(27, 50, 96, 0.78) 0%,
  rgba(27, 50, 96, 0.62) 38%,
  rgba(27, 50, 96, 0.28) 68%,
  rgba(27, 50, 96, 0.18) 100%
  );
  }

  /* Soft seam under category (and shop) heroes into next band */
  .tax-product_cat .hero-section[data-type="type-2"] {
  box-shadow: 0 12px 28px -18px rgba(27, 50, 96, 0.45);
  }
  .tax-product_cat .hero-section[data-type="type-2"]::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 14px;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
  180deg,
  rgba(27, 50, 96, 0.22) 0%,
  rgba(27, 50, 96, 0.08) 45%,
  rgba(27, 50, 96, 0) 100%
  );
  }

  .post-type-archive-product .hero-section[data-type="type-2"] .entry-header,
  .tax-product_cat .hero-section[data-type="type-2"] .entry-header {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-inline: clamp(16px, 3vw, 40px) !important;
  text-align: left !important;
  gap: 0;
  }

  .post-type-archive-product .hero-section .ct-breadcrumbs,
  .tax-product_cat .hero-section .ct-breadcrumbs {
  margin: 0 0 0.55rem;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.55);
  }
  .post-type-archive-product .hero-section .ct-breadcrumbs a,
  .tax-product_cat .hero-section .ct-breadcrumbs a,
  .post-type-archive-product .hero-section .ct-breadcrumbs .last-item,
  .tax-product_cat .hero-section .ct-breadcrumbs .last-item {
  color: var(--ss-blue) !important;
  text-decoration: none;
  transition: color .15s ease;
  }
  .post-type-archive-product .hero-section .ct-breadcrumbs a:hover,
  .tax-product_cat .hero-section .ct-breadcrumbs a:hover {
  color: var(--ss-white) !important;
  }
  .post-type-archive-product .hero-section .ct-breadcrumbs .ct-separator,
  .tax-product_cat .hero-section .ct-breadcrumbs .ct-separator {
  color: rgba(255, 255, 255, 0.32);
  }

  .post-type-archive-product .hero-section .page-title,
  .tax-product_cat .hero-section .page-title {
  margin: 0;
  max-width: min(36rem, 100%);
  text-wrap: unset;
  font-size: clamp(26px, 2.8vw, 36px) !important;
  line-height: 1.22 !important;
  letter-spacing: 0.04em !important;
  font-weight: 700 !important;
  color: var(--ss-white) !important;
  }
  .post-type-archive-product .hero-section .page-title {
  max-width: 40rem !important;
  line-height: 1.2 !important;
  }
  .post-type-archive-product .hero-section .page-description,
  .tax-product_cat .hero-section .page-description {
  max-width: 34rem;
  margin: 0.55rem 0 0;
  color: rgba(255,255,255,0.88) !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  }
  .tax-product_cat .hero-section .page-description p { margin: 0; }

  .post-type-archive-product .hero-section .ss-shop-hero-structured,
  .tax-product_cat .hero-section .ss-shop-hero-structured { display: contents; }

  .post-type-archive-product .hero-section .ss-shop-hero-divider,
  .tax-product_cat .hero-section .ss-shop-hero-divider {
  height: 1px;
  width: 100%;
  max-width: 34rem;
  margin: 0.7rem 0 0.55rem;
  background: linear-gradient(90deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.18) 55%, transparent 100%);
  }

  .post-type-archive-product .hero-section .ss-shop-hero-features,
  .tax-product_cat .hero-section .ss-shop-hero-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 1.25rem;
  margin: 0 0 0.7rem;
  max-width: 34rem;
  width: 100%;
  }
  .post-type-archive-product .hero-section .ss-shop-hero-feature,
  .tax-product_cat .hero-section .ss-shop-hero-feature {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  }
  .post-type-archive-product .hero-section .ss-shop-hero-feature__icon,
  .tax-product_cat .hero-section .ss-shop-hero-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.22);
  color: var(--ss-white);
  background: rgba(255,255,255,.06);
  flex-shrink: 0;
  }
  .post-type-archive-product .hero-section .ss-shop-hero-feature__text h3,
  .tax-product_cat .hero-section .ss-shop-hero-feature__text h3 {
  margin: 0 0 2px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ss-white);
  }
  .post-type-archive-product .hero-section .ss-shop-hero-feature__text p,
  .tax-product_cat .hero-section .ss-shop-hero-feature__text p {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.35;
  color: rgba(255,255,255,.74);
  }

  .post-type-archive-product .hero-section .ss-shop-hero-browse {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 0;
  text-decoration: none;
  background: var(--ss-blue);
  color: var(--ss-white) !important;
  font-weight: 700;
  font-size: 13px;
  }
  .post-type-archive-product .hero-section .ss-shop-hero-browse:hover { background: #1f63d6; }
  .post-type-archive-product .hero-section .ss-shop-hero-categories { display: none !important; }

  @media (max-width: 640px) {
  .post-type-archive-product .hero-section .ss-shop-hero-features,
  .tax-product_cat .hero-section .ss-shop-hero-features { grid-template-columns: 1fr; }
  .post-type-archive-product .hero-section[data-type="type-2"],
  .tax-product_cat .hero-section[data-type="type-2"] {
  --min-height: 200px !important;
  min-height: 200px !important;
  --container-padding: 18px 0 !important;
  }
  }

  /* === SS SHOP HERO POTTERY END === */


  /* === SS SHOP CATEGORY STRIP === */
  .ss-shop-cats {
  position: relative;
  background: var(--ss-ink);
  border-bottom: none;
  /* φ rhythm: ~18→29 bottom, keep head calm */
  padding: 22px 0 26px;
  margin: 0;
  box-shadow: 0 12px 28px -18px rgba(27, 50, 96, 0.55);
  }
  .ss-shop-cats::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* 14 × φ ≈ 23 */
  bottom: -23px;
  height: 23px;
  pointer-events: none;
  background: linear-gradient(
  180deg,
  rgba(27, 50, 96, 0.2) 0%,
  rgba(27, 50, 96, 0.08) 48%,
  rgba(27, 50, 96, 0) 100%
  );
  }
  .ss-shop-cats__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
  }
  .ss-shop-cats__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 12px;
  flex-wrap: wrap;
  }
  .ss-shop-cats__head-text { display: flex; flex-direction: column; gap: 3px; }
  .ss-shop-cats__kicker {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7eb0ff;
  font-weight: 700;
  }
  .ss-shop-cats__title {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  color: var(--ss-white-hex);
  font-weight: 700;
  }
  .ss-shop-cats__hint {
  margin: 0;
  max-width: 26rem;
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(255,255,255,0.72);
  }
  .ss-shop-cats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  }
  .ss-shop-cats__card {
  display: grid;
  grid-template-columns: 0.72fr 1.618fr;
  align-items: stretch;
  height: 58px;
  min-height: 58px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 0;
  overflow: hidden;
  background: var(--ss-white-hex);
  transition: border-color .2s ease, box-shadow .2s ease;
  }
  .ss-shop-cats__card:hover {
  border-color: var(--ss-blue);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  }
  .ss-shop-cats__media {
  display: block;
  height: 100%;
  background: #f4f7fb;
  border-right: 1px solid #e7ebee;
  }
  .ss-shop-cats__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px 8px;
  background: transparent;
  }
  .ss-shop-cats__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  padding: 6px 12px;
  background: var(--ss-white);
  }
  .ss-shop-cats__name {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ss-ink);
  }
  .ss-shop-cats__count {
  font-size: 11px;
  color: #5a6b7b;
  white-space: nowrap;
  }
  @media (max-width: 689px) {
  .ss-shop-cats__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  }

 /* === SS SHOP SIDEBAR FILTER === */
 .ct-sidebar {
 --ss-ink: #1b3260;
 --ss-accent: #2777f2;
 --ss-text: #2a3544;
 --ss-muted: #7a8494;
 --ss-line: #e6e8eb;
 --ss-bar: #123f96;
 --ss-bar-hover: #2777f2;
  }
  .ct-sidebar .ct-widget:not(:has(.ct-breadcrumbs)) + .ct-widget {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--ss-line);
  }
  .ct-sidebar .widget-title,
  .ct-sidebar .wp-block-heading.widget-title,
  .ct-sidebar .widget-title.has-medium-font-size {
  position: relative;
  display: block;
  color: var(--ss-ink) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  line-height: 1.35;
  margin: 0 0 14px;
  padding: 0 0 10px;
  }
  .ct-sidebar .widget-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 2px;
  background: var(--ss-accent);
  }

  /* Search */
  .ct-sidebar .ct-search-box,
  .ct-sidebar .wp-block-search { margin: 0; }
  .ct-sidebar .ct-search-form-inner,
  .ct-sidebar .ct-pseudo-input {
  border-radius: 0 !important;
  background: var(--ss-white) !important;
  border: 1px solid #d0d4da !important;
  box-shadow: none !important;
  }
  .ct-sidebar .ct-search-form:focus-within .ct-search-form-inner,
  .ct-sidebar .ct-search-form:focus-within .ct-pseudo-input {
  border-color: var(--ss-accent) !important;
  box-shadow: 0 0 0 1px rgba(39, 119, 242, 0.2) !important;
  }
  .ct-sidebar .ct-search-form input[type="search"],
  .ct-sidebar .wp-block-search__input,
  .ct-sidebar input[type="search"] {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-size: 13.5px !important;
  color: var(--ss-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  }
  .ct-sidebar .ct-search-form input[type="search"]::placeholder {
  color: #9aa3b2 !important;
  opacity: 1;
  }
  .ct-sidebar .ct-search-form .ct-search-submit,
  .ct-sidebar .ct-search-form button {
  color: var(--ss-ink) !important;
  }
  .ct-sidebar .ct-widget:has(.ct-search-form),
  .ct-sidebar .ct-search-box,
  .ct-sidebar .ct-search-form {
  position: relative;
  z-index: 8;
  overflow: visible;
  }
  .ct-sidebar .ct-search-form-inner,
  .ct-sidebar .ct-pseudo-input {
  position: relative;
  z-index: 2;
  }
  .ct-sidebar .ct-search-results {
  z-index: 1;
  background: var(--ss-white);
  border: 1px solid #d0d4da;
  border-radius: 0;
  box-shadow: 0 14px 36px rgba(13, 26, 55, 0.16);
  --search-dropdown-background: var(--ss-white);
  --search-image-radius: 0;
  --items-padding: 10px 12px;
  --items-spacing: 10px;
  --search-image-size: 40px;
  --items-divider: 1px solid #e6e8eb;
  }
  .ct-sidebar .ct-search-results a {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ss-ink);
  line-height: 1.35;
  }
  .ct-sidebar .ct-search-results a:hover {
  color: var(--ss-accent);
  background: var(--ss-white);
  }
  .ct-sidebar .ct-search-more {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ss-accent);
  }

  /* Blocksy Product Filter — same visual language as prior shop filters */
  .ct-sidebar .ct-filter-widget-wrapper {
  gap: 0;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] {
  gap: 10px;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 13px;
  --theme-link-initial-color: var(--ss-text);
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item {
  position: relative;
  margin: 0;
  background: var(--ss-white);
  border-top: 1px solid var(--ss-line);
  border-right: 1px solid var(--ss-line);
  border-bottom: 1px solid var(--ss-line);
  border-left: 0;
  transition: background-color .18s ease, border-color .18s ease;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--ss-bar);
  pointer-events: none;
  z-index: 0;
  transition: background-color .18s ease, width .18s ease;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item:hover,
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item.active {
  background: #f7f8fa;
  border-top-color: #d5d8de;
  border-right-color: #d5d8de;
  border-bottom-color: #d5d8de;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item:hover::before,
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item.active::before {
  background: var(--ss-bar-hover);
  width: 3px;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner,
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-children {
  position: relative;
  z-index: 1;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner {
  padding: 8px 10px 8px 12px;
  gap: 6px;
  }
  .ct-sidebar .ss-filter-toggle,
  .ct-sidebar .ct-filter-item-inner > .ct-expandable-trigger {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ss-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  }
  .ct-sidebar .ss-filter-toggle svg,
  .ct-sidebar .ct-filter-item-inner > .ct-expandable-trigger svg {
  width: 10px;
  height: 10px;
  display: block;
  transform: rotate(180deg);
  transition: transform .18s ease;
  }
  .ct-sidebar .ss-filter-toggle[aria-expanded="true"] svg,
  .ct-sidebar .ct-filter-item-inner > .ct-expandable-trigger[aria-expanded="true"] svg {
  transform: rotate(0deg);
  }
  .ct-sidebar .ss-filter-toggle:hover,
  .ct-sidebar .ct-filter-item-inner > .ct-expandable-trigger:hover {
  color: var(--ss-accent);
  }
  .ct-sidebar .ct-filter-children[data-behaviour="drop-down"][aria-hidden="true"] {
  display: none !important;
  }
  .ct-sidebar .ct-filter-children[data-behaviour="drop-down"][aria-hidden="false"] {
  display: flex;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner a {
  gap: 8px;
  align-items: center;
  color: var(--ss-ink);
  text-decoration: none;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner .ct-filter-label {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--ss-ink);
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner a:hover .ct-filter-label,
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item.active > .ct-filter-item-inner .ct-filter-label,
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner a.active .ct-filter-label {
  color: var(--ss-accent);
  font-weight: 700;
  }

  /* Children */
  /* Children: one thin nested rail (not parent-weight bars) */
  .ct-sidebar .ct-filter-children {
  gap: 0 !important;
  margin: 0;
  padding: 4px 0 6px 11px;
  border-top: 1px solid var(--ss-line);
  border-left: 1px solid #9aa8ba;
  background: var(--ss-white);
  }
  .ct-sidebar .ct-filter-children > li:first-child {
  margin-top: 0 !important;
  }
  .ct-sidebar .ct-filter-children .ct-filter-item {
  position: relative;
  background: transparent !important;
  border: 0 !important;
  transition: background-color .18s ease;
  }
  .ct-sidebar .ct-filter-children .ct-filter-item::before {
  content: none !important;
  }
  .ct-sidebar .ct-filter-children .ct-filter-item:hover,
  .ct-sidebar .ct-filter-children .ct-filter-item.active {
  background: #f7f8fa !important;
  }
  .ct-sidebar .ct-filter-children .ct-filter-item-inner {
  position: relative;
  z-index: 1;
  padding: 5px 10px 5px 8px;
  }
  .ct-sidebar .ct-filter-children .ct-filter-item-inner a {
  gap: 8px;
  color: var(--ss-text);
  text-decoration: none;
  }
  .ct-sidebar .ct-filter-children .ct-filter-label {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ss-text) !important;
  line-height: 1.35;
  }
  .ct-sidebar .ct-filter-children a:hover .ct-filter-label,
  .ct-sidebar .ct-filter-children .ct-filter-item.active .ct-filter-label,
  .ct-sidebar .ct-filter-children a.active .ct-filter-label {
  color: var(--ss-accent) !important;
  font-weight: 600 !important;
  }

  /* Count — quiet number, not pill */
  .ct-sidebar .ct-filter-item-inner a > .ct-filter-count {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin-inline-start: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: var(--ss-muted) !important;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner a > .ct-filter-count {
  color: var(--ss-accent) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  }
  .ct-sidebar .ct-filter-item-inner a:is(:hover, .active) > .ct-filter-count,
  .ct-sidebar .ct-filter-item.active .ct-filter-item-inner a > .ct-filter-count {
  color: var(--ss-accent) !important;
  background: transparent !important;
  border: 0 !important;
  }

  /* Square checkboxes */
  .ct-sidebar .ct-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 13px !important;
  height: 13px !important;
  min-width: 13px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #7f8b9c !important;
  border-radius: 0 !important;
  background: var(--ss-white) !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  top: 0 !important;
  }
  .ct-sidebar .ct-filter-widget[data-display-type="list"] > .ct-filter-item > .ct-filter-item-inner .ct-checkbox {
  border-color: var(--ss-ink) !important;
  }
  .ct-sidebar .ct-checkbox:hover {
  border-color: var(--ss-accent) !important;
  }
  .ct-sidebar .ct-checkbox:checked,
  .ct-sidebar .ct-filter-item.active .ct-checkbox {
  background: var(--ss-accent) !important;
  border-color: var(--ss-accent) !important;
  }
  .ct-sidebar .ct-checkbox:checked::after,
  .ct-sidebar .ct-filter-item.active .ct-checkbox::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 0px;
  width: 3px;
  height: 6.5px;
  border: solid var(--ss-white);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
  }

  /* Brand logos — keep small, don’t dominate */
  .ct-sidebar .ct-filter-widget .ct-media-container {
  width: 22px !important;
  height: 22px;
  flex-shrink: 0;
  }
  .ct-sidebar .ct-filter-widget .ct-media-container img {
  max-height: 22px;
  width: auto;
  object-fit: contain;
  }
  .ct-sidebar .ct-filter-reset {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  }
  .ct-sidebar .ct-filter-reset:hover {
  color: var(--ss-accent);
  }
  /* === SS SHOP SIDEBAR FILTER END === */


  .post-type-archive-product .ct-sidebar .ct-widget:has(.ct-breadcrumbs),
  .tax-product_cat .ct-sidebar .ct-widget:has(.ct-breadcrumbs) {
  display: none !important;
  }
  .post-type-archive-product #main > .ct-container,
  .tax-product_cat .ct-container[data-vertical-spacing],
  .tax-product_cat #main > .ct-container {
  /* was 12; 12×φ² ≈ 31 → 34 for breath under navy band */
  padding-top: 34px !important;
  }
  .post-type-archive-product #ss-shop-toolbar,
  .post-type-archive-product .ct-search-form {
  scroll-margin-top: 140px;
  }

  /*
  * Shop grid: natural document flow (Blocksy default).
  *
  * The product grid and the filter rail both lay out at their natural height;
  * the rail is position: sticky (native) and the page scrolls once. No fixed
  * container height, no inner product scrollbox, no chained wheel — so a short
  * rail never wastes vertical space and a tall rail never forces products to
  * scroll inside a box.
  */

  /* === SS SHOP CATEGORY STRIP END === */

  /* === SS SHOP PRODUCT CARDS === */
  /*
  φ ≈ 1.618
  Measured problems (4-col ~200px cards):
  - card W/H ≈ 0.52 (too tall; portrait φ ≈ 0.618)
  - media:body ≈ 1:1 (should be ~φ:1)
  - title 3 lines @17px + 25px gaps inflate body
  */
  .woocommerce ul.products {
  --ss-phi: 1.618;
  gap: 21px !important;
  row-gap: 28px !important;
  }
  .woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  }
  /* Square product thumbs — no frame/letterbox; images already 1:1 */
  .woocommerce ul.products li.product figure {
  margin: 0 0 13px !important;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: transparent;
  border: 0;
  }
  .woocommerce ul.products li.product figure .ct-media-container,
  .woocommerce ul.products li.product figure > a {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  padding-bottom: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  }
  .woocommerce ul.products li.product figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  }
  /* Hover → 2nd gallery image (Blocksy data-hover="swap") */
  .woocommerce ul.products[data-hover="swap"] li.product .ct-swap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  transition: opacity 0.35s ease !important;
  z-index: 1;
  pointer-events: none;
  }
  @media (hover: hover) {
  .woocommerce ul.products[data-hover="swap"] li.product .has-hover-effect:hover .ct-swap {
  opacity: 1 !important;
  }
  .woocommerce ul.products[data-hover="swap"] li.product .has-hover-effect:hover .ct-swap + img {
  opacity: 0 !important;
  }
  }
  /* Title: 2-line clamp, denser type */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: var(--ss-ink) !important;
  margin: 0 0 8px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: calc(1.35em * 2);
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title a {
  color: inherit !important;
  text-decoration: none !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
  color: var(--ss-blue) !important;
  }
  /* SKU / excerpt — secondary band */
  .woocommerce ul.products li.product .entry-excerpt {
  margin: 0 0 8px !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.3;
  color: var(--ss-muted);
  }
  .woocommerce ul.products li.product .entry-excerpt p {
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  }
  /* Category meta — quiet label */
  .woocommerce ul.products li.product .entry-meta {
  margin: 0 !important;
  padding-top: 0;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--ss-muted);
  border-top: 0;
  }
  .woocommerce ul.products li.product .entry-meta a {
  color: var(--ss-muted) !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
  }
  .woocommerce ul.products li.product .entry-meta a::before,
  .woocommerce ul.products li.product .entry-meta a::after {
  display: none !important;
  }
  .woocommerce ul.products li.product .entry-meta a:hover {
  color: var(--ss-blue) !important;
  }
  .woocommerce ul.products li.product .star-rating,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .ct-woo-card-actions {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  }
  @media (max-width: 999px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 13.5px !important;
  }
  }
  /* === SS SHOP PRODUCT CARDS END === */
  /* === SS SHOP QUICK VIEW === */
  .woocommerce ul.products li.product figure {
  position: relative;
  overflow: hidden;
  }
  .woocommerce ul.products li.product .ct-woo-card-extra {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
  z-index: 3;
  background: var(--ss-ink);
  border: 0;
  box-shadow: none;
  }
  .woocommerce ul.products li.product:hover .ct-woo-card-extra,
  .woocommerce ul.products li.product:focus-within .ct-woo-card-extra {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  }
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-open-quick-view,
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--ss-white) !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease;
  }
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-open-quick-view:hover,
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-button:hover {
  color: var(--ss-white) !important;
  background: var(--ss-blue) !important;
  }
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-open-quick-view svg,
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-button svg,
  .woocommerce ul.products li.product .ct-woo-card-extra .ct-tooltip {
  display: none !important;
  }
  .woocommerce ul.products li.product .ct-woo-card-extra .ss-qv-label {
  display: inline-block;
  }
  @media (max-width: 689px) {
  .woocommerce ul.products li.product .ct-woo-card-extra {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  }
  }

  /* Outer product prev/next — light ghost arrows, no heavy white tile */
  .quick-view-modal [class*="ct-quick-view-nav"] {
  width: 36px !important;
  height: 36px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
  --theme-link-initial-color: rgba(255, 255, 255, 0.72);
  --theme-link-hover-color: var(--ss-white);
  }
  .quick-view-modal [class*="ct-quick-view-nav"]:hover {
  background: transparent !important;
  border: 0 !important;
  color: var(--ss-white) !important;
  }
  .quick-view-modal [class*="ct-quick-view-nav"] svg {
  width: 18px !important;
  height: 12px !important;
  fill: currentColor;
  }

  /*
  * QV gallery stage — side rails for arrows; keep the card compact.
  * Spacing (φ): outer inset ≈ mid gap × φ.
  *   28/17 was too much frame + image still hugged arrows → 22 / 14 / rails 40.
  */
  .quick-view-modal .ct-quick-view-card {
  width: min(1020px, 92vw) !important;
  max-width: min(1020px, 92vw) !important;
  padding: 22px !important;
  box-sizing: border-box !important;
  }
  @media (min-width: 690px) {
  .ct-quick-view-card .ct-quick-view-content {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 14px !important; /* 22 / φ */
  }
  }

  /* Side rails (~40px) beside the photo; arrows sit here */
  .ct-quick-view-card .flexy,
  .ct-quick-view-card .flexy-container > .flexy {
  position: relative;
  padding-inline: 40px;
  box-sizing: border-box;
  background: var(--ss-white-hex);
  }
  .ct-quick-view-card .flexy > [class*="flexy-arrow"],
  .ct-quick-view-card .flexy-container > .flexy > [class*="flexy-arrow"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--ss-ink) !important;
  opacity: 0.72 !important;
  visibility: visible !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
  --translate-x: 0 !important;
  --rotate: 0deg !important;
  cursor: pointer;
  transition: opacity .2s ease, color .2s ease;
  }
  .ct-quick-view-card .flexy > [class*="flexy-arrow"]::before,
  .ct-quick-view-card .flexy-container > .flexy > [class*="flexy-arrow"]::before {
  content: none !important;
  display: none !important;
  }
  .ct-quick-view-card .flexy > [class*="flexy-arrow"]:hover,
  .ct-quick-view-card .flexy-container > .flexy > [class*="flexy-arrow"]:hover,
  .ct-quick-view-card .flexy > [class*="flexy-arrow"]:focus-visible {
  opacity: 1 !important;
  background: transparent !important;
  color: var(--ss-blue) !important;
  }
  .ct-quick-view-card .flexy > [class*="flexy-arrow"] svg,
  .ct-quick-view-card .flexy-container > .flexy > [class*="flexy-arrow"] svg,
  .ct-quick-view-card .flexy > [class*="flexy-arrow"] svg.ss-gallery-chevron,
  .ct-quick-view-card .flexy > [class*="flexy-arrow"] svg.ss-qv-chevron {
  width: 20px !important;
  height: 28px !important;
  overflow: visible !important;
  pointer-events: none;
  transform: none !important;
  filter: none !important;
  }
  .ct-quick-view-card .flexy > [class*="flexy-arrow"]:hover svg,
  .ct-quick-view-card .flexy-container > .flexy > [class*="flexy-arrow"]:hover svg {
  filter: none !important;
  }
  /* Sit in the side rails — flush to outer edge so photo gets the inner air */
  .ct-quick-view-card .flexy-arrow-prev { left: 0 !important; right: auto !important; }
  .ct-quick-view-card .flexy-arrow-next { right: 0 !important; left: auto !important; }
  .ct-quick-view-card .flexy-container[data-ss-gallery-count="1"] [class*="flexy-arrow"],
  .ct-quick-view-card[data-ss-gallery-count="1"] [class*="flexy-arrow"] {
  display: none !important;
  }
  @media (max-width: 689px) {
  .ct-quick-view-card .flexy,
  .ct-quick-view-card .flexy-container > .flexy {
  padding-inline: 36px;
  }
  }

  /*
  * QV gallery layout safety net (also enqueue flexy.min.css in functions.php).
  * Without Flexy CSS the track is display:block → slides stack → last frame white.
  */
  .ct-quick-view-card .flexy-items {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0;
  align-items: flex-start;
  }
  .ct-quick-view-card .flexy-items > .flexy-item,
  .ct-quick-view-card .flexy-items > * {
  flex: 0 0 var(--flexy-item-width, 100%) !important;
  max-width: var(--flexy-item-width, 100%) !important;
  min-width: 0;
  order: 0 !important;
  transform: translate3d(calc(-100% * var(--current-item, 0)), 0, 0) !important;
  }
  .ct-quick-view-card .flexy-view {
  min-height: max(280px, var(--flexy-view-height, 280px)) !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden;
  background: var(--ss-white-hex);
  }
  .ct-quick-view-card [data-flexy=""] .flexy-items > .flexy-item:not(.flexy-item-is-visible),
  .ct-quick-view-card [data-flexy=""] .flexy-items > *:not(.flexy-item-is-visible) {
  height: auto !important;
  min-height: var(--flexy-view-height, 280px) !important;
  }
  .ct-quick-view-card .flexy-items > .flexy-item {
  min-height: var(--flexy-view-height, 280px);
  }
  .ct-quick-view-card .flexy-items > .flexy-item .ct-media-container {
  min-height: inherit;
  height: auto;
  background: var(--ss-white-hex);
  }
  .ct-quick-view-card .flexy-items > .flexy-item .ct-media-container,
  .ct-quick-view-card .flexy-items > .flexy-item img {
  width: 100%;
  height: auto;
  object-fit: contain;
  }

  /* Dots only — one pill per image (Blocksy default --thumbs-width:20% = max 5).
  * Keep dots under the photo, not in the arrow rails. */
  .ct-quick-view-card .flexy-pills[data-type="circle"] {
  bottom: 12px !important;
  left: 40px !important;
  right: 40px !important;
  max-width: none !important;
  width: auto !important;
  --flexyInitialPill: rgba(27, 50, 96, 0.28) !important;
  --flexyActivePill: var(--ss-blue) !important;
  }
  @media (max-width: 689px) {
  .ct-quick-view-card .flexy-pills[data-type="circle"] {
  left: 36px !important;
  right: 36px !important;
  }
  }
  .ct-quick-view-card .flexy-pills[data-type="circle"] ol {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  --pills-wrap: wrap !important;
  }
  .ct-quick-view-card .flexy-pills[data-type="circle"] li {
  --thumbs-width: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: 14px !important;
  }
  .ct-quick-view-card .flexy-pills[data-type="circle"] span,
  .ct-quick-view-card .flexy-pills[data-type="circle"] button,
  .ct-quick-view-card .flexy-pills[data-type="circle"] a {
  width: 7px !important;
  height: 7px !important;
  border-radius: 0 !important;
  }
  .ct-quick-view-card .ss-qv-gallery-count {
  display: none !important;
  }

  /* Right summary:
  title
  short desc (reserved block)
  spacer
  meta lower
  CTA bottom
  */
  .ct-quick-view-card .ct-quick-view-content {
  align-items: stretch;
  }
  .ct-quick-view-card .woocommerce-product-summary {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  padding: 4px 0 0;
  }
  .ct-quick-view-card .entry-summary {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  gap: 0;
  }
  .ct-quick-view-card .entry-summary .product_title {
  order: 1;
  margin: 0 0 14px !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  }
  .ct-quick-view-card .entry-summary .price,
  .ct-quick-view-card .entry-summary .woocommerce-product-rating,
  .ct-quick-view-card .entry-summary form.cart {
  order: 2;
  }
  .ct-quick-view-card .entry-summary .woocommerce-product-details__short-description {
  order: 3;
  margin: 0 !important;
  min-height: 4.8em;
  max-height: 7.2em;
  overflow: auto;
  font-size: 14px;
  line-height: 1.55;
  color: #4a5565;
  }
  .ct-quick-view-card .entry-summary .woocommerce-product-details__short-description p {
  margin: 0 !important;
  }
  .ct-quick-view-card .entry-summary .product_meta {
  order: 4;
  margin: auto 0 16px !important;
  padding-top: 14px;
  border-top: 1px solid #e6e8eb;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ss-muted);
  }
  .ct-quick-view-card .entry-summary .ct-quick-more {
  order: 5;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ss-ink) !important;
  color: var(--ss-white) !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transition: background-color .18s ease;
  }
  .ct-quick-view-card .entry-summary .ct-quick-more:hover {
  background: var(--ss-blue) !important;
  color: var(--ss-white) !important;
  }
  /* === SS SHOP QUICK VIEW END === */

  /* === SS PRODUCT DETAIL === */
  body.single-product .ct-container[data-sidebar],
  body.single-product .ct-container {
  --sidebar-width: 20%;
  --sidebar-width-no-unit: 20;
  }
  /*
  * Overall rhythm (3 columns): gallery · summary · tools.
  * Root cause of “乱”: φ was mis-applied to column WIDTH (61.8%), crushing
  * summary (~341px) until it was barely wider than the sidebar. φ belongs on
  * the photo stage aspect (landscape), not the column split.
  * Gallery ~47% (≥ theme 32%, < 50%) keeps summary clearly primary.
  */
  @media (min-width: 1000px) {
  body.single-product .product-entry-wrapper {
  --product-gallery-width: 47% !important;
  }
  }
  body.single-product .product-entry-wrapper {
  align-items: flex-start;
  }
  body.single-product .woocommerce-product-gallery {
  max-width: 100%;
  }
  /* Landscape φ stage — rack gear reads wider; kills empty square air */
  body.single-product .woocommerce-product-gallery .flexy-view,
  body.single-product .woocommerce-product-gallery .flexy-items,
  body.single-product .woocommerce-product-gallery .flexy-item,
  body.single-product .woocommerce-product-gallery .flexy-item .ct-media-container {
  aspect-ratio: 1.618 / 1;
  }
  body.single-product .woocommerce-product-gallery .flexy-container {
  aspect-ratio: auto;
  }
  body.single-product .woocommerce-product-gallery img {
  object-fit: contain;
  background: var(--ss-white-hex);
  }
  body.single-product .flexy-pills,
  body.single-product .flexy-components {
  margin-top: 12px !important;
  gap: 8px !important;
  position: relative;
  padding-inline: 22px;
  box-sizing: border-box;
  }
  body.single-product .flexy-pills img,
  body.single-product .flexy-pills .ct-media-container {
  width: 58px !important;
  height: 58px !important;
  }

  /*
  * PDP arrows — same language as QV: transparent double chevron,
  * image-centered, no frosted square tile.
  */
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"],
  body.single-product .woocommerce-product-gallery .flexy-pills > [class*="flexy-arrow"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--ss-ink) !important;
  opacity: 0 !important;
  visibility: visible !important;
  --translate-x: 0 !important;
  --rotate: 0deg !important;
  z-index: 3 !important;
  cursor: pointer;
  transition: opacity .2s ease, color .2s ease;
  }
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"] {
  width: 36px !important;
  height: 44px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  }
  body.single-product .woocommerce-product-gallery .flexy:hover > [class*="flexy-arrow"],
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"]:focus-visible,
  body.single-product .woocommerce-product-gallery .flexy-pills:hover > [class*="flexy-arrow"],
  body.single-product .woocommerce-product-gallery .flexy-pills > [class*="flexy-arrow"]:focus-visible {
  opacity: 0.55 !important;
  }
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"]:hover,
  body.single-product .woocommerce-product-gallery .flexy-pills > [class*="flexy-arrow"]:hover {
  opacity: 1 !important;
  background: transparent !important;
  color: var(--ss-blue) !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-arrow-prev {
  left: 12px !important;
  right: auto !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-arrow-next {
  right: 12px !important;
  left: auto !important;
  }
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"] svg,
  body.single-product .woocommerce-product-gallery .flexy > [class*="flexy-arrow"] svg.ss-gallery-chevron {
  width: 20px !important;
  height: 28px !important;
  transform: none !important;
  filter: none !important;
  pointer-events: none;
  }
  /* Thumb-strip: quieter / smaller, in side padding */
  body.single-product .woocommerce-product-gallery .flexy-pills > [class*="flexy-arrow"] {
  width: 22px !important;
  height: 28px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-pills > .flexy-arrow-prev {
  left: 0 !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-pills > .flexy-arrow-next {
  right: 0 !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-pills > [class*="flexy-arrow"] svg {
  width: 12px !important;
  height: 16px !important;
  transform: none !important;
  filter: none !important;
  pointer-events: none;
  }

  /*
  * PhotoSwipe lightbox arrows — same double-chevron as QV / PDP gallery.
  * Woo default uses a sprite on ::before; replace with mask + brand color.
  */
  .pswp__button.pswp__button--arrow--left,
  .pswp__button.pswp__button--arrow--right,
  button.pswp__button--arrow--left,
  button.pswp__button--arrow--right {
  width: 56px !important;
  height: 72px !important;
  background: transparent !important;
  background-image: none !important;
  opacity: 0.72 !important;
  transition: opacity .2s ease;
  }
  .pswp__button.pswp__button--arrow--left:hover,
  .pswp__button.pswp__button--arrow--right:hover,
  button.pswp__button--arrow--left:hover,
  button.pswp__button--arrow--right:hover {
  opacity: 1 !important;
  background: transparent !important;
  background-image: none !important;
  }
  .pswp__button--arrow--left::before,
  .pswp__button--arrow--right::before,
  button.pswp__button--arrow--left::before,
  button.pswp__button--arrow--right::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 22px !important;
  height: 30px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  background-color: var(--ss-white-hex) !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: center !important;
  opacity: 1 !important;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 22px 30px;
  mask-size: 22px 30px;
  }
  .pswp__button--arrow--left::before,
  button.pswp__button--arrow--left::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28' fill='none'%3E%3Cpath d='M17 3.5 9.5 14 17 24.5' stroke='%23000' stroke-width='1.3' stroke-linecap='square' stroke-linejoin='miter' opacity='.4'/%3E%3Cpath d='M11.5 3.5 4 14l7.5 10.5' stroke='%23000' stroke-width='1.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28' fill='none'%3E%3Cpath d='M17 3.5 9.5 14 17 24.5' stroke='%23000' stroke-width='1.3' stroke-linecap='square' stroke-linejoin='miter' opacity='.4'/%3E%3Cpath d='M11.5 3.5 4 14l7.5 10.5' stroke='%23000' stroke-width='1.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  }
  .pswp__button--arrow--right::before,
  button.pswp__button--arrow--right::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28' fill='none'%3E%3Cpath d='M3 3.5 10.5 14 3 24.5' stroke='%23000' stroke-width='1.3' stroke-linecap='square' stroke-linejoin='miter' opacity='.4'/%3E%3Cpath d='M8.5 3.5 16 14l-7.5 10.5' stroke='%23000' stroke-width='1.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28' fill='none'%3E%3Cpath d='M3 3.5 10.5 14 3 24.5' stroke='%23000' stroke-width='1.3' stroke-linecap='square' stroke-linejoin='miter' opacity='.4'/%3E%3Cpath d='M8.5 3.5 16 14l-7.5 10.5' stroke='%23000' stroke-width='1.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  }
  .pswp__button--arrow--left:hover::before,
  .pswp__button--arrow--right:hover::before,
  button.pswp__button--arrow--left:hover::before,
  button.pswp__button--arrow--right:hover::before {
  background-color: var(--ss-blue) !important;
  }

  /* Summary denser — B2B SKU title, not marketing hero */
  body.single-product .summary.entry-summary {
  padding-top: 0 !important;
  }
  body.single-product .summary .ct-breadcrumbs {
  margin: 0 0 10px !important;
  font-size: 12px;
  line-height: 1.4;
  }
  body.single-product .summary .product_title {
  margin: 0 0 8px !important;
  font-size: clamp(18px, 1.25vw, 21px) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
  color: var(--ss-ink) !important;
  }
  body.single-product .summary .woocommerce-product-details__short-description {
  margin: 0 0 12px !important;
  font-size: 14px;
  line-height: 1.5;
  color: #4d5d6d;
  }
  body.single-product .summary .woocommerce-product-details__short-description p {
  margin: 0 !important;
  }
  body.single-product .summary .ct-product-divider {
  margin: 10px 0 !important;
  }
  body.single-product .summary .product_meta {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.55;
  color: #5b6b7c;
  }
  body.single-product .summary .product_meta > span {
  display: block;
  margin: 0 0 4px;
  }

  /* Tabs / long content */
  body.single-product .woocommerce-tabs {
  margin-top: 28px !important;
  }
  body.single-product .woocommerce-tabs ul.tabs {
  margin: 0 0 16px !important;
  padding: 0 !important;
  }
  /* Kill Blocksy default purple tab underline (#7456f1) — lives on li::before */
  body.single-product .woocommerce-tabs ul.tabs li::before,body.single-product .woocommerce-tabs ul.tabs li.active::before,body.single-product .woocommerce-tabs ul.tabs li a::before,body.single-product .woocommerce-tabs ul.tabs li.active a::before,body.single-product .woocommerce-tabs ul.tabs li a::after,body.single-product .woocommerce-tabs ul.tabs li.active a::after {
  background: var(--ss-blue) !important;
  background-color: var(--ss-blue) !important;
  }
  body.single-product .woocommerce-tabs ul.tabs li.active a,
  body.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--ss-ink) !important;
  }
  /* Review form submit — same purple default */
  body.single-product .woocommerce-tabs #review_form .form-submit input,
  body.single-product .woocommerce-tabs #review_form .form-submit button,
  body.single-product .woocommerce-Reviews .submit {
  background: var(--ss-ink) !important;
  border-color: var(--ss-ink) !important;
  color: var(--ss-white) !important;
  }
  body.single-product .woocommerce-tabs .panel {
  margin: 0 !important;
  padding: 0 !important;
  }
  /*
  * Description body often ships a duplicate H1 at ~40px — that is what
  * feels “uncomfortable,” not only the summary title. Cap to section scale.
  */
  body.single-product .woocommerce-tabs .panel h1 {
  margin: 0 0 0.65em !important;
  font-size: clamp(18px, 1.3vw, 22px) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
  color: var(--ss-ink) !important;
  }
  body.single-product .woocommerce-tabs .panel h2,
  body.single-product .woocommerce-tabs .panel h3 {
  margin: 1.1em 0 0.45em !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--ss-ink) !important;
  }
  body.single-product .woocommerce-tabs .panel h2:first-child,
  body.single-product .woocommerce-tabs .panel h3:first-child {
  margin-top: 0 !important;
  }
  body.single-product .woocommerce-tabs .panel p,
  body.single-product .woocommerce-tabs .panel li {
  font-size: 14px;
  line-height: 1.6;
  }
  body.single-product .woocommerce-tabs .panel table {
  font-size: 13px;
  margin: 0 0 16px !important;
  }
  body.single-product .related.products {
  margin-top: 36px !important;
  }
  body.single-product .related.products > h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 14px !important;
  }

  /* Product tools rail */
  body.single-product #sidebar .ss-pdp-tools {
  display: flex;
  flex-direction: column;
  gap: 12px;
  }
  body.single-product #sidebar .ss-pdp-tools__card {
  padding: 14px 14px 12px;
  border: 1px solid #e3e7ec;
  background: var(--ss-white);
  border-radius: 0;
  }
  body.single-product #sidebar .ss-pdp-tools__card--cta {
  border-color: var(--ss-ink);
  background: var(--ss-white-hex);
  }
  body.single-product #sidebar .ss-pdp-tools__label {
  margin: 0 0 8px;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ss-ink);
  }
  body.single-product #sidebar .ss-pdp-tools__hint {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #4d5d6d;
  }
  body.single-product #sidebar .ss-pdp-tools__sku {
  margin: 0 0 12px;
  font-size: 12px;
  color: #5b6b7c;
  }
  body.single-product #sidebar .ss-pdp-tools__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 0 8px;
  padding: 11px 12px;
  background: var(--ss-ink);
  color: var(--ss-white) !important;
  text-decoration: none !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--ss-ink);
  transition: background-color .18s ease, color .18s ease;
  }
  body.single-product #sidebar .ss-pdp-tools__btn:hover {
  background: var(--ss-blue);
  border-color: var(--ss-blue);
  color: var(--ss-white) !important;
  }
  body.single-product #sidebar .ss-pdp-tools__btn--ghost {
  background: transparent;
  color: var(--ss-ink) !important;
  }
  body.single-product #sidebar .ss-pdp-tools__btn--ghost:hover {
  background: var(--ss-ink);
  color: var(--ss-white) !important;
  }
  body.single-product #sidebar .ss-pdp-tools__contacts {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  }
  body.single-product #sidebar .ss-pdp-tools__contacts li {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.4;
  }
  body.single-product #sidebar .ss-pdp-tools__contacts a {
  color: #4d5d6d;
  text-decoration: none;
  }
  body.single-product #sidebar .ss-pdp-tools__contacts a:hover {
  color: var(--ss-blue);
  }
  body.single-product #sidebar .ss-pdp-tools__search {
  display: flex;
  gap: 0;
  border: 1px solid #d5dbe3;
  }
  body.single-product #sidebar .ss-pdp-tools__search input[type="search"] {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 9px 10px;
  border: 0;
  border-radius: 0;
  font-size: 13px;
  background: var(--ss-white);
  }
  body.single-product #sidebar .ss-pdp-tools__search button {
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-left: 1px solid #d5dbe3;
  border-radius: 0;
  background: var(--ss-ink);
  color: var(--ss-white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  }
  body.single-product #sidebar .ss-pdp-tools__cats,
  body.single-product #sidebar .ss-pdp-tools__recent {
  list-style: none;
  margin: 0;
  padding: 0;
  }
  body.single-product #sidebar .ss-pdp-tools__cats li {
  margin: 0;
  border-top: 1px solid #eef1f4;
  }
  body.single-product #sidebar .ss-pdp-tools__cats li:first-child {
  border-top: 0;
  }
  body.single-product #sidebar .ss-pdp-tools__cats a {
  display: block;
  padding: 7px 0;
  font-size: 13px;
  color: var(--ss-ink);
  text-decoration: none;
  }
  body.single-product #sidebar .ss-pdp-tools__cats a:hover {
  color: var(--ss-blue);
  }
  body.single-product #sidebar .ss-pdp-tools__recent li {
  margin: 0 0 8px;
  }
  body.single-product #sidebar .ss-pdp-tools__recent li:last-child {
  margin-bottom: 0;
  }
  body.single-product #sidebar .ss-pdp-tools__recent a {
  display: flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  }
  body.single-product #sidebar .ss-pdp-tools__recent-thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  overflow: hidden;
  background: #f4f6f8;
  }
  body.single-product #sidebar .ss-pdp-tools__recent-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  }
  body.single-product #sidebar .ss-pdp-tools__recent-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  }
  body.single-product #sidebar .ss-pdp-tools__recent-title {
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--ss-ink);
  }
  body.single-product #sidebar .ss-pdp-tools__recent-sku {
  font-size: 11px;
  color: var(--ss-muted);
  }
  @media (max-width: 999px) {
  body.single-product #sidebar .ss-pdp-tools {
  margin-top: 20px;
  }
  }

  /* PDP denser gallery + summary fill */
  body.single-product .product-entry-wrapper {
  gap: 32px !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-view,
  body.single-product .woocommerce-product-gallery .flexy-items,
  body.single-product .woocommerce-product-gallery .flexy-item,
  body.single-product .woocommerce-product-gallery .flexy-item .ct-media-container {
  aspect-ratio: 1.618 / 1 !important;
  height: auto !important;
  max-height: none !important;
  }
  body.single-product .woocommerce-product-gallery .flexy-container {
  aspect-ratio: auto !important;
  }
  body.single-product .woocommerce-product-gallery .ct-media-container > img,
  body.single-product .woocommerce-product-gallery .flexy-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: var(--ss-white-hex);
  }
  body.single-product .summary .ss-pdp-summary-cta {
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--ss-ink);
  background: var(--ss-white-hex);
  }
  body.single-product .summary .ss-pdp-summary-cta__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  }
  body.single-product .summary .ss-pdp-summary-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: var(--ss-ink);
  color: var(--ss-white) !important;
  text-decoration: none !important;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--ss-ink);
  }
  body.single-product .summary .ss-pdp-summary-cta__btn:hover {
  background: var(--ss-blue);
  border-color: var(--ss-blue);
  }
  body.single-product .summary .ss-pdp-summary-cta__btn--ghost {
  background: var(--ss-white);
  color: var(--ss-ink) !important;
  }
  body.single-product .summary .ss-pdp-summary-cta__btn--ghost:hover {
  background: var(--ss-ink);
  color: var(--ss-white) !important;
  }
  body.single-product .summary .ss-pdp-summary-cta__note {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #5b6b7c;
  }
  /* === SS PRODUCT DETAIL END === */

  /*
  * Buyback hero — quiet shade depth + soft header seam only.
  * Top: ease white sticky header → photo.
  * Bottom: clean cut into Trust #1E3A8A — no smoky blue feather (rejected).
  */
  #buyback-hero.elementor-element {
  background-image: url("/wp-content/uploads/2026/08/buyback-hero-racks-v5.jpg?v=5g") !important;
  background-size: cover !important;
  background-position: 62% center !important;
  background-repeat: no-repeat !important;
  background-color: var(--ss-royal) !important;
  isolation: isolate;
  }
  /* Type shade pocket — soft, not stage light */
  #buyback-hero.elementor-element::before {
  opacity: 1 !important;
  background-color: transparent !important;
  background-image:
  radial-gradient(
  ellipse 88% 82% at 20% 46%,
  rgba(8, 14, 28, 0.42) 0%,
  rgba(8, 14, 28, 0.18) 48%,
  rgba(8, 14, 28, 0.05) 70%,
  transparent 86%
  ),
  linear-gradient(
  102deg,
  rgba(13, 26, 55, 0.18) 0%,
  rgba(13, 26, 55, 0.05) 38%,
  transparent 58%
  ) !important;
  z-index: 1;
  }
  /* Header entry veil only — no bottom smoke */
  #buyback-hero.elementor-element::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: min(120px, 18%);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
  to bottom,
  rgba(13, 26, 55, 0.58) 0%,
  rgba(13, 26, 55, 0.28) 32%,
  rgba(13, 26, 55, 0.08) 68%,
  transparent 100%
  );
  }
  #buyback-hero.elementor-element > .e-con-inner {
  position: relative;
  z-index: 2;
  }
  /* Soft cast from white header onto hero — bridges the cut */
  .page-id-7294 .ct-header {
  box-shadow:
  0 1px 0 rgba(13, 26, 55, 0.06),
  0 12px 32px rgba(13, 26, 55, 0.11);
  }
  /* Trust: flush under hero — hard enterprise join, no fog */
  #buyback-trust.elementor-element {
  border-top: none !important;
  margin-top: 0;
  box-shadow: none;
  }
  #buyback-hero-copy {
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.22));
  }
  #buyback-hero-copy .elementor-widget-heading:first-child .elementor-heading-title {
  letter-spacing: 0.28em !important;
  }
  #buyback-hero-copy h1.elementor-heading-title {
  font-weight: 600 !important;
  }
  #buyback-hero-copy .elementor-heading-title,
  #buyback-hero-copy .elementor-widget-text-editor {
  text-shadow:
  0 1px 1px rgba(0, 0, 0, 0.32),
  0 6px 16px rgba(0, 0, 0, 0.18) !important;
  }
  #buyback-hero-copy .elementor-button-link.elementor-button {
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  }
  #buyback-hero-copy .elementor-button-link.elementor-button:hover {
  transform: translateY(-1px);
  }

