.cc-wc-main {
  padding-top: 24px;
}

/* Accessible visually-hidden helper (the block theme does not ship one). */
.cc-wc-main .screen-reader-text,
.woocommerce .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.woocommerce-breadcrumb,
.prod-breadcrumb {
  padding: 28px 0 12px;
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cc-fg-3);
}

.woocommerce-breadcrumb a:hover,
.prod-breadcrumb a:hover {
  color: var(--cc-red);
}

.prod-layout,
.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(36px, 5.8vw, 80px);
  padding: 32px 0 96px;
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.prod-gallery-main,
.wp-block-woocommerce-product-gallery,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  aspect-ratio: 1 / 1.05;
  background: var(--cc-paper-2);
  border: 1.5px solid var(--cc-ink);
  box-shadow: var(--cc-shadow-2);
  position: relative;
  overflow: hidden;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  max-width: none;
}

/* WooCommerce sets the gallery to opacity:0 inline until its slider JS runs; keep it
   visible as a safety net so the image never disappears if that script is unavailable. */
.woocommerce div.product div.images .woocommerce-product-gallery {
  opacity: 1 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 0;
  padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: auto;
  float: none;
  list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1.5px solid var(--cc-ink);
  opacity: 0.72;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
  border-color: var(--cc-red);
  opacity: 1;
}

.prod-gallery-main {
  display: grid;
  place-items: center;
}

.prod-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prod-gallery-stamp {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  transform: rotate(-7deg);
}

.prod-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 16px;
}

.prod-gallery-thumbs a,
.prod-gallery-thumbs button {
  aspect-ratio: 1;
  border: 1.5px solid var(--cc-ink);
  background: var(--cc-paper);
  padding: 0;
  overflow: hidden;
  opacity: 0.72;
}

.prod-gallery-thumbs a.active,
.prod-gallery-thumbs a:hover,
.prod-gallery-thumbs button.active,
.prod-gallery-thumbs button:hover {
  opacity: 1;
  border-color: var(--cc-red);
}

.prod-gallery-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prod-info-eye {
  font-family: var(--cc-font-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cc-red);
  margin: 0 0 16px;
}

.woocommerce div.product .product_title,
.prod-info h1,
.prod-info .wc-block-components-product-title,
.prod-info .wp-block-woocommerce-product-title {
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: clamp(40px, 5.5vw, 76px);
  line-height: 0.86;
  text-transform: uppercase;
  margin: 0 0 16px;
}

.woocommerce div.product .woocommerce-product-rating {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  font-family: var(--cc-font-mono);
  font-size: 13px;
  letter-spacing: 0.12em;
  color: var(--cc-fg-2);
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
  float: none;
  flex: 0 0 auto;
  width: 5.4em;
  margin: 0 0 0 -0.1em;
  letter-spacing: 0;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
  margin: 0;
  white-space: nowrap;
}

.star-rating,
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--cc-red);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.wp-block-woocommerce-product-price {
  color: var(--cc-red);
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: 32px;
}

.woocommerce div.product.product-type-variable .summary > p.price {
  display: none;
}

.woocommerce div.product form.cart {
  margin-top: 28px;
}

.woocommerce div.product form.cart .cc-native-variations {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.woocommerce div.product form.cart .variations {
  width: 100%;
  border: 0;
  margin-bottom: 20px;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
  display: block;
  padding: 0 0 12px;
  text-align: left;
}

.woocommerce div.product form.cart .variations label,
.prod-variant-label {
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cc-fg-3);
}

.prod-variant-opts {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: 100%;
}

.prod-variant {
  width: 100%;
}

.prod-variant-select {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.prod-variant-select select,
.woocommerce div.product form.cart .variations select {
  width: 100%;
  min-height: 48px;
  border: 1.5px solid var(--cc-ink);
  border-radius: 2px;
  background: var(--cc-paper);
  color: var(--cc-ink);
  padding: 10px 12px;
  font-family: var(--cc-font-mono);
  font-size: 13px;
}

.prod-variant .reset_variations {
  display: inline-block;
  width: max-content;
  margin-top: 10px;
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.prod-variant-opt {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 1.5px solid var(--cc-ink);
  min-height: 56px;
  padding: 13px 18px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  color: inherit;
  border-radius: 2px;
  cursor: pointer;
}

/* Keep the native radio reachable/checkable but visually hidden inside the card,
   not escaping to the top-left of the page. */
.prod-variant-opt input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.prod-variant-opt:hover {
  background: var(--cc-paper-2);
}

.prod-variant-opt.active,
.prod-variant-opt input:checked + .radio {
  border-color: var(--cc-red);
}

.prod-variant-opt .radio {
  width: 18px;
  height: 18px;
  border: 1.5px solid currentColor;
  border-radius: 99px;
  position: relative;
}

.prod-variant-opt.active {
  border-color: var(--cc-red);
  background: var(--cc-red);
  color: var(--cc-paper);
  border-width: 2px;
}

.prod-variant-opt.active .radio::after,
.prod-variant-opt input:checked + .radio::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: currentColor;
  border-radius: 99px;
}

.prod-variant-opt .lab {
  display: block;
  font-family: var(--cc-font-display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 17px;
  letter-spacing: 0.02em;
}

.prod-variant-opt .desc {
  display: block;
  font-family: var(--cc-font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  line-height: 1.25;
  margin-top: 3px;
  opacity: 0.7;
}

.prod-variant-opt .desc-preorder {
  margin-top: 6px;
  font-weight: 700;
  opacity: 1;
}

.prod-variant-opt .pr {
  grid-column: auto;
  justify-self: end;
  font-family: var(--cc-font-display);
  font-weight: 800;
  font-size: 22px;
  white-space: nowrap;
}

/* The per-card price reuses WooCommerce price markup; the global red `span.price`
   rule (.woocommerce div.product span.price) outranks plain .pr selectors, so these
   overrides are scoped the same way to win specificity and let the price inherit the
   card colour (white on the red active card, ink otherwise) and the .pr font size. */
.woocommerce div.product .prod-variant-opt .pr,
.woocommerce div.product .prod-variant-opt .pr .price,
.woocommerce div.product .prod-variant-opt .pr .woocommerce-Price-amount,
.woocommerce div.product .prod-variant-opt .pr .woocommerce-Price-currencySymbol {
  color: inherit;
  font-size: inherit;
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-top: 22px;
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity {
  margin: 0;
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity .qty {
  width: 100%;
  height: 56px;
}

.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart .button {
  margin: 0;
  min-height: 56px;
}

.woocommerce div.product .single_variation_wrap {
  margin-top: 6px;
}

.woocommerce div.product .single_variation .woocommerce-variation-price {
  margin: 18px 0 2px;
}

.woocommerce div.product .single_variation .woocommerce-variation-price .price {
  font-size: 28px;
}

.woocommerce div.product .single_variation .woocommerce-variation-availability {
  margin: 6px 0 0;
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--cc-fg-3);
}

.cc-preorder-notice {
  position: relative;
  width: 100%;
  margin: 20px 0 4px;
  padding: 18px 20px;
  border: 3px solid var(--cc-ink);
  outline: 4px solid var(--cc-red);
  outline-offset: -7px;
  background: var(--cc-red);
  color: var(--cc-paper);
  box-shadow: 7px 7px 0 var(--cc-ink);
}

.cc-preorder-notice__title {
  display: block;
  margin: 0 0 8px;
  font-family: var(--cc-font-display);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.woocommerce div.product .cc-preorder-notice p {
  margin: 0;
  color: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.woocommerce div.product .cc-preorder-notice .cc-preorder-notice__delivery {
  margin-top: 8px;
  font-family: var(--cc-font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prod-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  border-top: 1.5px solid var(--cc-ink);
  border-bottom: 1.5px solid var(--cc-ink);
  padding: 20px 0;
  margin-bottom: 32px;
}

.prod-meta-cell {
  font-family: var(--cc-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cc-fg-3);
  margin: 0;
}

.prod-meta-cell strong {
  display: block;
  font-family: var(--cc-font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--cc-ink);
  margin-bottom: 4px;
}

.prod-addtocart,
.woocommerce div.product form.cart:not(.variations_form),
.wp-block-woocommerce-add-to-cart-form form.cart {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin-bottom: 24px;
}

.woocommerce .quantity .qty,
.prod-addtocart .qty {
  border: 1.5px solid var(--cc-ink);
  border-radius: 2px;
  height: 56px;
  min-width: 92px;
  padding: 0 12px;
  background: transparent;
}

.woocommerce div.product form.cart .button {
  height: 56px;
  width: 100%;
}

.wp-block-woocommerce-add-to-cart-form .quantity {
  margin-right: 0 !important;
}

.cc-product-details {
  padding-bottom: 96px;
}

.cc-product-story {
  padding-bottom: 96px;
}

.cc-product-faq {
  max-width: 980px;
}

.cc-product-description {
  max-width: 920px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--cc-fg-2);
}

.prod-trust {
  list-style: none;
  padding: 0;
  margin: 24px 0 16px;
  display: grid;
  gap: 12px;
  font-family: var(--cc-font-mono);
  font-size: 13px;
  line-height: 1.4;
  color: var(--cc-fg-2);
}

.prod-trust li {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 12px;
  align-items: start;
}

.prod-trust li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--cc-red);
  margin-top: 6px;
}

.woocommerce-tabs {
  grid-column: 1 / -1;
  padding-bottom: 96px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.cc-wc-main .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 18px;
  padding: 0;
  margin: 0 0 24px;
  list-style: none;
  border-bottom: 1.5px solid var(--cc-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.cc-wc-main .woocommerce-tabs ul.tabs::before,
.cc-wc-main .woocommerce-tabs ul.tabs li::before,
.cc-wc-main .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.cc-wc-main .woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0 18px 0 0;
  list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.cc-wc-main .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 14px 0;
  margin-bottom: -1.5px;
  border-bottom: 2px solid transparent;
  color: var(--cc-fg-3);
  font-family: var(--cc-font-mono);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.cc-wc-main .woocommerce-tabs ul.tabs li a:hover {
  color: var(--cc-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.cc-wc-main .woocommerce-tabs ul.tabs li.active a {
  color: var(--cc-red);
  border-bottom-color: var(--cc-red);
}

.cc-wc-main .woocommerce-tabs .panel {
  max-width: 980px;
}

.cc-product-tab-intro {
  max-width: 66ch;
  color: var(--cc-fg-2);
  font-size: 18px;
  line-height: 1.55;
  margin: 0 0 24px;
}

.cc-product-tab-faq {
  max-width: 920px;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  width: 100%;
}

.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  background: var(--cc-paper);
  border: 1.5px solid var(--cc-ink);
  padding: 18px;
  box-shadow: var(--cc-shadow-2);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--cc-font-display);
  font-size: 30px;
  line-height: 1;
  text-transform: uppercase;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--cc-red);
  background: var(--cc-paper-2);
  color: var(--cc-ink);
  font-family: var(--cc-font-mono);
}

/* ── Shop / Caser archive ─────────────────────────────────────── */
/* The page-title header is suppressed (our hero renders the title); collapse the empty wrapper. */
.cc-wc-main .woocommerce-products-header:empty {
  display: none;
}
.shop-hero {
  padding: 72px 0 40px;
  border-bottom: 1.5px solid var(--cc-ink);
}
.shop-hero-top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: end;
}
@media (max-width: 760px) {
  .shop-hero-top { grid-template-columns: 1fr; }
}
.shop-hero h1 {
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: clamp(56px, 9vw, 132px);
  line-height: 0.84;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  margin: 12px 0 0;
}
.shop-hero .lead {
  font-family: var(--cc-font-body);
  font-size: 18px;
  line-height: 1.5;
  color: var(--cc-fg-2);
  max-width: 38ch;
  margin: 0;
  text-align: right;
}
@media (max-width: 760px) {
  .shop-hero .lead { text-align: left; }
}

.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 28px 0;
}
.shop-count {
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cc-fg-3);
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  padding-bottom: 96px;
}
@media (max-width: 1000px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .shop-grid { grid-template-columns: 1fr; }
}

.case-card {
  position: relative;
  text-align: left;
  text-decoration: none;
  background: var(--cc-manila);
  border: 1.5px solid var(--cc-ink);
  box-shadow: var(--cc-shadow-2);
  padding: 0;
  cursor: pointer;
  color: var(--cc-ink);
  display: flex;
  flex-direction: column;
  transition: transform var(--cc-dur-3) var(--cc-ease), box-shadow var(--cc-dur-3) var(--cc-ease);
  overflow: hidden;
}
.case-card:hover {
  transform: translateY(-5px) rotate(-0.4deg);
  box-shadow: var(--cc-shadow-3);
}
.case-card-tab {
  position: absolute;
  top: -1px;
  left: 22px;
  z-index: 4;
  width: 104px;
  height: 16px;
  background: var(--cc-manila);
  border: 1.5px solid var(--cc-ink);
  border-top: 0;
  border-radius: 0 0 3px 3px;
  transform: translateY(-100%);
}

.case-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-bottom: 1.5px solid var(--cc-ink);
  background: var(--cc-ink-2);
}
.case-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.case-photo .gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #2f3947, #0d1218);
}
.case-photo .scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 17, 15, 0) 50%, rgba(20, 17, 15, 0.55) 100%);
}
.case-photo .num {
  position: absolute;
  top: 12px;
  left: 14px;
  max-width: calc(100% - 28px);
  font-family: var(--cc-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--cc-paper);
  background: rgba(20, 17, 15, 0.6);
  padding: 4px 8px;
}
.case-photo .diff {
  position: absolute;
  bottom: 12px;
  left: 14px;
  font-family: var(--cc-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cc-paper);
  display: flex;
  align-items: center;
  gap: 8px;
}
.case-photo .diff .pips {
  display: inline-flex;
  gap: 3px;
}
.case-photo .diff .pip {
  width: 8px;
  height: 8px;
  background: rgba(244, 236, 223, 0.35);
  border-radius: 99px;
}
.case-photo .diff .pip.on {
  background: var(--cc-red);
}

.case-body {
  background: var(--cc-paper);
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
  border-top: 1px solid var(--cc-manila-2);
}
.case-body h3 {
  font-family: var(--cc-font-display);
  font-weight: 800;
  font-size: 26px;
  line-height: 0.95;
  text-transform: uppercase;
  margin: 0 0 8px;
  color: var(--cc-ink);
}
.case-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-family: var(--cc-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cc-ink-3);
  margin-bottom: 12px;
}
.case-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.case-desc {
  font-family: var(--cc-font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--cc-ink-3);
  margin: 0 0 16px;
  text-wrap: pretty;
}
.case-foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--cc-divider);
}
.case-price {
  font-family: var(--cc-font-display);
  font-weight: 800;
  font-size: 26px;
  color: var(--cc-ink);
  line-height: 1;
}
.case-price .from {
  display: block;
  font-family: var(--cc-font-mono);
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cc-ink-4);
  margin-bottom: -2px;
}
.case-price .woocommerce-Price-amount {
  font-family: var(--cc-font-display);
  font-weight: 800;
}
.case-sale {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--cc-red);
  padding: 6px 10px;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(31, 27, 22, 0.25);
  transform: rotate(3deg);
}
.case-price del,
.case-price del .woocommerce-Price-amount {
  font-family: var(--cc-font-mono);
  font-weight: 400;
  font-size: 14px;
  color: var(--cc-ink-4);
  text-decoration: line-through;
}
.case-price ins {
  text-decoration: none;
}
.case-price ins .woocommerce-Price-amount {
  color: var(--cc-red);
}
.case-cta {
  font-family: var(--cc-font-display);
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 11px 16px;
  border-radius: 2px;
  background: var(--cc-red);
  color: var(--cc-paper);
  border: 2px solid var(--cc-red);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all var(--cc-dur-2) var(--cc-ease);
}
.case-card:hover .case-cta {
  background: var(--cc-red-deep);
  border-color: var(--cc-red-deep);
}

/* Guarantee / trust strip below the grid */
.shop-sub {
  background: var(--cc-ink);
  color: var(--cc-paper);
  border: 1.5px solid var(--cc-ink);
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  margin-bottom: 96px;
}
@media (max-width: 760px) {
  .shop-sub { grid-template-columns: 1fr; padding: 32px; }
}
.shop-sub-eyebrow {
  color: var(--cc-red);
  margin-bottom: 12px;
}
.shop-sub h3 {
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 0.9;
  text-transform: uppercase;
  margin: 0 0 12px;
  color: var(--cc-paper);
}
.shop-sub p {
  font-family: var(--cc-font-body);
  font-size: 16px;
  color: rgba(244, 236, 223, 0.8);
  margin: 0;
  max-width: 44ch;
}
.shop-sub-btn {
  color: var(--cc-paper);
  border-color: var(--cc-red);
  white-space: nowrap;
}

/* ── Cart / checkout ──────────────────────────────────────────── */
.cc-page-shell .woocommerce {
  width: 100%;
}

.cc-page-shell .woocommerce form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.cc-page-shell .woocommerce .col2-set,
.cc-page-shell .woocommerce .col2-set .col-1,
.cc-page-shell .woocommerce .col2-set .col-2 {
  float: none;
  width: auto;
}

.cc-page-shell .woocommerce form.checkout .col2-set {
  display: grid;
  gap: 24px;
}

.cc-page-shell .woocommerce form.checkout h3,
.cc-page-shell .woocommerce .cart_totals h2,
.cc-page-shell .woocommerce .woocommerce-billing-fields h3,
.cc-page-shell .woocommerce .woocommerce-shipping-fields h3,
.cc-page-shell .woocommerce #order_review_heading {
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 0.95;
  text-transform: uppercase;
  margin: 0 0 18px;
  color: var(--cc-ink);
}

.cc-page-shell .woocommerce #order_review_heading {
  grid-column: 2;
  margin-bottom: -38px;
}

.cc-page-shell .woocommerce #order_review {
  grid-column: 2;
  background: rgba(253, 251, 246, 0.48);
  border: 1.5px solid var(--cc-ink);
  box-shadow: var(--cc-shadow-2);
  padding: 28px;
}

.cc-page-shell .woocommerce form .form-row {
  padding: 0;
  margin: 0 0 16px;
}

.cc-page-shell .woocommerce form .form-row label,
.cc-page-shell .woocommerce form .form-row legend {
  display: block;
  margin-bottom: 7px;
  font-family: var(--cc-font-mono);
  font-size: 12px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cc-fg-3);
}

.cc-page-shell .woocommerce form .form-row .required {
  color: var(--cc-red);
  text-decoration: none;
}

.cc-page-shell .woocommerce input.input-text,
.cc-page-shell .woocommerce textarea,
.cc-page-shell .woocommerce select,
.cc-page-shell .woocommerce .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 48px;
  border: 1.5px solid var(--cc-ink);
  border-radius: 2px;
  background: var(--cc-paper);
  color: var(--cc-ink);
  padding: 10px 12px;
  font-family: var(--cc-font-body);
  font-size: 16px;
  line-height: 1.35;
  box-shadow: none;
}

.cc-page-shell .woocommerce textarea {
  min-height: 112px;
  resize: vertical;
}

.cc-page-shell .woocommerce .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
}

.cc-page-shell .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 24px 0 0;
  color: var(--cc-ink);
  line-height: 1.35;
}

.cc-page-shell .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
}

.cc-page-shell .woocommerce input.input-text:focus,
.cc-page-shell .woocommerce textarea:focus,
.cc-page-shell .woocommerce select:focus,
.cc-page-shell .woocommerce .select2-container--focus .select2-selection--single {
  outline: 2px solid var(--cc-red);
  outline-offset: 3px;
}

.cc-page-shell .woocommerce input[type="radio"],
.cc-page-shell .woocommerce input[type="checkbox"] {
  accent-color: var(--cc-red);
}

.cc-page-shell .woocommerce input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  vertical-align: middle;
}

.cc-page-shell .woocommerce .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cc-font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
  color: var(--cc-ink);
}

.cc-page-shell .woocommerce table.shop_table,
.cc-page-shell .woocommerce-checkout-review-order-table,
.cc-page-shell .woocommerce-cart-form table.shop_table,
.cc-page-shell .cart_totals table.shop_table {
  width: 100%;
  border: 1.5px solid var(--cc-ink);
  border-radius: 2px;
  border-collapse: collapse;
  background: rgba(253, 251, 246, 0.38);
  margin: 0 0 24px;
}

.cc-page-shell .woocommerce table.shop_table th,
.cc-page-shell .woocommerce table.shop_table td {
  border-top: 1px solid var(--cc-divider);
  padding: 16px 18px;
  vertical-align: top;
  color: var(--cc-ink);
}

.cc-page-shell .woocommerce table.shop_table thead th,
.cc-page-shell .woocommerce table.shop_table tbody:first-child tr:first-child th,
.cc-page-shell .woocommerce table.shop_table tbody:first-child tr:first-child td {
  border-top: 0;
}

.cc-page-shell .woocommerce table.shop_table th {
  font-family: var(--cc-font-display);
  font-weight: 900;
  font-size: 22px;
  line-height: 1;
}

.cc-page-shell .woocommerce table.shop_table td {
  font-size: 16px;
  line-height: 1.45;
}

.cc-page-shell .woocommerce table.shop_table .amount,
.cc-page-shell .woocommerce table.shop_table strong {
  font-weight: 800;
}

.cc-page-shell .woocommerce ul#shipping_method,
.cc-page-shell .woocommerce ul.wc_payment_methods,
.cc-page-shell .woocommerce ul.payment_methods {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cc-page-shell .woocommerce ul#shipping_method li,
.cc-page-shell .woocommerce ul.wc_payment_methods li,
.cc-page-shell .woocommerce ul.payment_methods li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.cc-page-shell .woocommerce ul#shipping_method li input[type="radio"],
.cc-page-shell .woocommerce ul.wc_payment_methods li input[type="radio"],
.cc-page-shell .woocommerce ul.payment_methods li input[type="radio"] {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}

.cc-page-shell .woocommerce ul#shipping_method li label,
.cc-page-shell .woocommerce ul.wc_payment_methods li > label,
.cc-page-shell .woocommerce ul.payment_methods li > label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  width: 100%;
  margin: 0;
  padding: 14px 16px 14px 48px;
  border: 1.5px solid var(--cc-ink);
  border-radius: 2px;
  background: transparent;
  color: var(--cc-ink);
  font-family: var(--cc-font-body);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  cursor: pointer;
}

.cc-page-shell .woocommerce ul#shipping_method li label::before,
.cc-page-shell .woocommerce ul.wc_payment_methods li > label::before,
.cc-page-shell .woocommerce ul.payment_methods li > label::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 18px;
  height: 18px;
  border: 1.5px solid currentColor;
  border-radius: 99px;
  transform: translateY(-50%);
  background: transparent;
}

.cc-page-shell .woocommerce ul#shipping_method li label::after,
.cc-page-shell .woocommerce ul.wc_payment_methods li > label::after,
.cc-page-shell .woocommerce ul.payment_methods li > label::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: currentColor;
  opacity: 0;
  transform: translateY(-50%);
}

.cc-page-shell .woocommerce ul#shipping_method li input[type="radio"]:checked + label,
.cc-page-shell .woocommerce ul.wc_payment_methods li input[type="radio"]:checked + label,
.cc-page-shell .woocommerce ul.payment_methods li input[type="radio"]:checked + label {
  border-color: var(--cc-red);
  background: var(--cc-paper-2);
}

.cc-page-shell .woocommerce ul#shipping_method li input[type="radio"]:checked + label::after,
.cc-page-shell .woocommerce ul.wc_payment_methods li input[type="radio"]:checked + label::after,
.cc-page-shell .woocommerce ul.payment_methods li input[type="radio"]:checked + label::after {
  opacity: 1;
}

.cc-page-shell .woocommerce ul#shipping_method li input[type="radio"]:focus-visible + label,
.cc-page-shell .woocommerce ul.wc_payment_methods li input[type="radio"]:focus-visible + label,
.cc-page-shell .woocommerce ul.payment_methods li input[type="radio"]:focus-visible + label {
  outline: 2px solid var(--cc-red);
  outline-offset: 3px;
}

.cc-page-shell .woocommerce ul#shipping_method li label:hover,
.cc-page-shell .woocommerce ul.wc_payment_methods li > label:hover,
.cc-page-shell .woocommerce ul.payment_methods li > label:hover {
  background: var(--cc-paper-2);
}

.cc-page-shell .woocommerce ul#shipping_method .amount,
.cc-page-shell .woocommerce ul.wc_payment_methods .amount,
.cc-page-shell .woocommerce ul.payment_methods .amount {
  margin-left: auto;
  white-space: nowrap;
  font-family: var(--cc-font-display);
  font-size: 22px;
  font-weight: 900;
}

.cc-page-shell .woocommerce ul#shipping_method select,
.cc-page-shell .woocommerce ul#shipping_method .pickup-location-field,
.cc-page-shell .woocommerce ul#shipping_method .shipping_method_description {
  margin: 8px 0 0 48px;
  max-width: calc(100% - 48px);
}

.cc-page-shell .woocommerce #payment {
  background: transparent;
  border-radius: 0;
}

.cc-page-shell .woocommerce #payment ul.payment_methods {
  border: 0;
  padding: 0;
}

.cc-page-shell .woocommerce #payment ul.payment_methods li img {
  display: inline-block;
  width: auto;
  max-height: 26px;
  margin: 0 0 0 8px;
  vertical-align: middle;
}

.cc-page-shell .woocommerce #payment div.payment_box,
.cc-page-shell .woocommerce .payment_box {
  width: auto;
  margin: 8px 0 0 48px;
  padding: 16px 18px;
  border: 1px solid var(--cc-divider);
  border-radius: 2px;
  background: rgba(235, 225, 207, 0.72);
  color: var(--cc-ink);
  font-size: 15px;
  line-height: 1.5;
}

.cc-page-shell .woocommerce #payment div.payment_box::before {
  display: none;
}

.cc-page-shell .woocommerce #payment div.form-row {
  padding: 20px 0 0;
  margin: 0;
}

.cc-page-shell .woocommerce .woocommerce-privacy-policy-text {
  margin: 20px 0;
  color: var(--cc-fg-2);
  font-size: 15px;
  line-height: 1.55;
}

.cc-page-shell .woocommerce .woocommerce-privacy-policy-text p {
  margin: 0;
}

.cc-page-shell .woocommerce #place_order,
.cc-page-shell .woocommerce .checkout-button,
.cc-page-shell .woocommerce button[name="apply_coupon"],
.cc-page-shell .woocommerce button[name="update_cart"] {
  min-height: 56px;
  border-radius: 2px;
  font-family: var(--cc-font-display);
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cc-page-shell .woocommerce #place_order,
.cc-page-shell .woocommerce .checkout-button {
  width: 100%;
  float: none;
  font-size: 20px;
}

.cc-page-shell .woocommerce .cart-collaterals,
.cc-page-shell .woocommerce .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}

.cc-page-shell .woocommerce .cart-collaterals .cart_totals {
  max-width: 760px;
  margin-left: auto;
  background: rgba(253, 251, 246, 0.48);
  border: 1.5px solid var(--cc-ink);
  box-shadow: var(--cc-shadow-2);
  padding: 28px;
}

.cc-page-shell .woocommerce .woocommerce-cart-form {
  margin-bottom: 32px;
}

.cc-page-shell .woocommerce .coupon {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.cc-page-shell .woocommerce .coupon .input-text {
  min-width: min(260px, 100%);
}

.cc-page-shell .woocommerce .woocommerce-error,
.cc-page-shell .woocommerce .woocommerce-info,
.cc-page-shell .woocommerce .woocommerce-message {
  border-top: 3px solid var(--cc-red);
  background: var(--cc-paper-2);
  color: var(--cc-ink);
  font-family: var(--cc-font-mono);
}

@media (max-width: 1100px) {
  .cc-page-shell .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .cc-page-shell .woocommerce #order_review_heading,
  .cc-page-shell .woocommerce #order_review {
    grid-column: auto;
  }

  .cc-page-shell .woocommerce #order_review_heading {
    margin-bottom: -8px;
  }

  .cc-page-shell .woocommerce #order_review,
  .cc-page-shell .woocommerce .cart-collaterals .cart_totals {
    padding: 20px;
  }
}

@media (max-width: 1240px) {
  .prod-layout,
  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .prod-info {
    max-width: 720px;
  }
}

@media (max-width: 700px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .prod-meta {
    grid-template-columns: 1fr 1fr;
  }

  .prod-variant-opt {
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 14px 16px;
  }

  .prod-variant-opt .pr {
    grid-column: 2;
    justify-self: start;
  }

  .woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }

  .cc-page-shell .woocommerce table.shop_table {
    display: block;
    overflow-x: auto;
  }

  .cc-page-shell .woocommerce ul#shipping_method li label,
  .cc-page-shell .woocommerce ul.wc_payment_methods li > label,
  .cc-page-shell .woocommerce ul.payment_methods li > label {
    align-items: flex-start;
    flex-wrap: wrap;
    padding-right: 14px;
    font-size: 17px;
  }

  .cc-page-shell .woocommerce ul#shipping_method .amount,
  .cc-page-shell .woocommerce ul.wc_payment_methods .amount,
  .cc-page-shell .woocommerce ul.payment_methods .amount {
    width: 100%;
    margin-left: 0;
    font-size: 20px;
  }

  .cc-page-shell .woocommerce ul#shipping_method select,
  .cc-page-shell .woocommerce ul#shipping_method .pickup-location-field,
  .cc-page-shell .woocommerce ul#shipping_method .shipping_method_description,
  .cc-page-shell .woocommerce #payment div.payment_box,
  .cc-page-shell .woocommerce .payment_box {
    margin-left: 0;
    max-width: 100%;
  }
}
