/* Figma product page */
.rcp-order-strip {
  background: rgba(241, 105, 49, 0.1);
  border-bottom: 1px solid #e2e8f0;
  padding: 12px 0;
}
.rcp-order-strip .container {
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
}
.rcp-order-strip span {
  color: #f16931;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.rcp-order-strip ul {
  display: flex;
  gap: 8px;
  align-items: center;
}
.rcp-order-strip li {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #fff;
  border: 1px solid rgba(241, 105, 49, .3);
  border-radius: 999px;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  white-space: nowrap;
}
.rcp-order-strip b {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #f16931;
  color: #fff;
  font-size: 10px;
}

.rcp-page {
  background: #fff;
  color: #0f172a;
}
.rcp-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
  gap: 48px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 24px 64px;
  align-items: start;
}
.rcp-gallery {
  position: sticky;
  top: 128px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rcp-img-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
  background: #f1f5f9;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .12);
  cursor: zoom-in;
}
.rcp-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.rcp-img-wrap:hover img {
  transform: scale(1.05);
}
.rcp-sale-dot,
.rcp-img-count {
  position: absolute;
  z-index: 2;
  border-radius: 999px;
  background: rgba(0, 0, 0, .6);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
}
.rcp-sale-dot { top: 12px; left: 12px; }
.rcp-img-count { right: 12px; bottom: 12px; }
.rcp-thumbs {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rcp-thumb-track {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.rcp-thumb-track::-webkit-scrollbar { display: none; }
.rcp-thumb {
  position: relative;
  width: 72px;
  flex: 0 0 72px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: #f1f5f9;
  padding: 0;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.rcp-thumb img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.rcp-thumb.is-active {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .3);
}
.rcp-thumb-nav {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .08);
}

.rcp-summary {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.rcp-title {
  margin: 0 0 -8px;
  color: #0f172a;
  font-family: var(--font-body);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
.rcp-rating-row {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #475569;
  font-size: 14px;
}
.rcp-stars {
  display: inline-flex;
  gap: 2px;
}
.rcp-stars span {
  color: #cbd5e1;
}
.rcp-stars .is-filled {
  color: #facc15;
}
.rcp-sku {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rcp-price-delivery {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.rcp-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.rcp-price-regular {
  color: #94a3b8;
  font-size: 20px;
  text-decoration: line-through;
}
.rcp-price-sale,
.rcp-price-sale .amount {
  color: #f16931;
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
}
.rcp-piece {
  color: #64748b;
  font-size: 14px;
}
.rcp-delivery {
  text-align: right;
  font-size: 14px;
}
.rcp-delivery span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rcp-delivery strong {
  color: #15803d;
  margin-right: 4px;
}
.rcp-delivery em {
  color: #475569;
  font-style: normal;
}
.rcp-bulk-pricing {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rcp-bulk-pricing div {
  min-width: 80px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  padding: 8px 12px;
  text-align: center;
}
.rcp-bulk-pricing span,
.rcp-bulk-pricing em {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}
.rcp-bulk-pricing strong {
  display: block;
  color: #334155;
  font-size: 16px;
}
.rcp-short-desc {
  color: #64748b;
  font-size: 15px;
  line-height: 1.7;
}

.rcp-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rcp-wc-variation-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rcp-wc-variation-options {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rcp-wc-variation-form .reset_variations {
  align-self: flex-start;
  color: #f16931;
  font-size: 13px;
  font-weight: 600;
}
.rcp-wc-variation-form .single_variation_wrap {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rcp-wc-variation-form .woocommerce-variation-price {
  color: #f16931;
  font-size: 24px;
  font-weight: 600;
}
.rcp-wc-variation-form .woocommerce-variation-availability {
  color: #15803d;
  font-size: 14px;
  font-weight: 600;
}
.rcp-wc-variation-form .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) minmax(160px, 1fr);
  gap: 12px;
  align-items: center;
}
.rcp-wc-variation-form .single_add_to_cart_button {
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: #f16931;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-transform: none;
}
.rcp-wc-variation-form .single_add_to_cart_button:hover {
  background: #d85520;
}
.rcp-wc-variation-form .single_add_to_cart_button.disabled,
.rcp-wc-variation-form .single_add_to_cart_button:disabled {
  background: #cbd5e1;
}
.rcp-configurator {
  display: grid;
  gap: 20px;
}
.rcp-config-section {
  display: grid;
  gap: 12px;
}
.rcp-config-pills,
.rcp-config-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rcp-config-pill {
  display: inline-flex;
  cursor: pointer;
}
.rcp-config-pill input,
.rcp-config-color input,
.rcp-side-style input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.rcp-config-pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 48px;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-weight: 600;
  padding: 10px 24px;
  transition: all .15s ease;
}
.rcp-config-pill:hover span {
  border-color: #94a3b8;
}
.rcp-config-pill.is-selected span {
  border-color: #f16931;
  background: rgba(241, 105, 49, .1);
  color: #f16931;
}
.rcp-config-color {
  --swatch: #fff;
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 2px solid #cbd5e1;
  border-radius: 999px;
  background: var(--swatch);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  cursor: pointer;
  transition: all .15s ease;
}
.rcp-config-color:hover {
  border-color: #94a3b8;
}
.rcp-config-color.is-selected {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .3), inset 0 0 0 1px rgba(0,0,0,.08);
}
.rcp-config-color .rcp-check {
  display: none;
}
.rcp-config-color.is-selected .rcp-check {
  display: block;
}
.rcp-config-color-custom {
  border-style: dashed;
  background: #fff;
  color: #94a3b8;
  font-size: 20px;
  font-weight: 600;
}
.rcp-config-color-custom.is-selected {
  color: #f16931;
  background: rgba(241,105,49,.08);
}
.rcp-pantone-input {
  display: none;
  width: 100%;
  border: 1px solid rgba(241,105,49,.5);
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  padding: 10px 12px;
}
.rcp-pantone-input.is-visible {
  display: block;
}
.rcp-config-selects {
  display: grid;
  gap: 10px;
}
.rcp-config-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.rcp-config-row label {
  color: #334155;
  font-size: 14px;
  font-weight: 600;
  padding-top: 10px;
}
.rcp-config-select-wrap {
  position: relative;
}
.rcp-config-select-wrap::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #94a3b8;
  border-bottom: 2px solid #94a3b8;
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}
.rcp-config-row select {
  width: 100%;
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font-size: 14px;
  padding: 10px 34px 10px 12px;
}
.rcp-config-row select:focus {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241,105,49,.2);
  outline: none;
}
.rcp-upcharge-note {
  min-height: 18px;
  margin: -4px 0 0;
  border-radius: 4px;
  background: #fff8db;
  border: 1px solid #fde68a;
  color: #b45309;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
}
.rcp-upcharge-note[hidden] {
  display: none;
}
.rcp-side-style-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.rcp-side-style {
  display: grid;
  justify-items: center;
  gap: 5px;
  width: 100px;
  color: #475569;
  cursor: pointer;
  text-align: center;
}
.rcp-side-thumb {
  display: block;
  width: 100px;
  aspect-ratio: 4 / 3;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  background:
    linear-gradient(150deg, rgba(34,36,88,.12), rgba(241,105,49,.16)),
    url("../images/rex-logo.png") center / 80% auto no-repeat,
    #f8fafc;
  transition: all .15s ease;
}
.rcp-side-style.is-selected .rcp-side-thumb {
  border-color: #f16931;
  box-shadow: 0 4px 12px rgba(15,23,42,.12);
}
.rcp-side-label {
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}
.rcp-side-style small {
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
}
.rcp-price-box {
  display: grid;
  gap: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  color: #475569;
  font-size: 14px;
  padding: 12px 16px;
}
.rcp-price-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rcp-price-line strong {
  color: #334155;
  font-weight: 600;
}
.rcp-price-box-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e2e8f0;
  padding-top: 8px;
}
.rcp-price-box-total span {
  color: #1e293b;
  font-weight: 600;
}
.rcp-price-box-total strong {
  color: #f16931;
  font-size: 24px;
}
.rcp-attr-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rcp-attr-header {
  display: flex;
  align-items: center;
  gap: 6px;
}
.rcp-attr-name,
.rcp-field-label,
.rcp-form .quantity::before {
  color: #334155;
  font-size: 14px;
  font-weight: 600;
}
.rcp-attr-chosen {
  color: #64748b;
  font-size: 14px;
  font-weight: 400;
}
.rcp-native-select {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.rcp-variation-select {
  width: 100%;
  max-width: 100%;
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background:
    linear-gradient(45deg, transparent 50%, #94a3b8 50%) calc(100% - 18px) 50% / 6px 6px no-repeat,
    linear-gradient(135deg, #94a3b8 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat,
    #fff;
  color: #334155;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  padding: 11px 36px 11px 12px;
}
.rcp-variation-select:focus {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241,105,49,.2);
  outline: none;
}
.rcp-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rcp-sw {
  background: #fff;
  transition: all .15s ease;
}
.rcp-sw--size,
.rcp-sw--chip,
.rcp-sw--label {
  min-height: 48px;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  color: #334155;
  font-size: 15px;
  font-weight: 600;
  padding: 10px 24px;
}
.rcp-sw--chip {
  min-height: 42px;
  font-size: 14px;
  padding: 9px 16px;
}
.rcp-sw small {
  display: block;
  margin-top: 3px;
  color: #b45309;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}
.rcp-sw--size:hover,
.rcp-sw--chip:hover,
.rcp-sw--label:hover,
.rcp-sw--image:hover {
  border-color: #94a3b8;
}
.rcp-sw--size.is-selected,
.rcp-sw--chip.is-selected,
.rcp-sw--label.is-selected {
  border-color: #f16931;
  background: rgba(241, 105, 49, .1);
  color: #f16931;
}
.rcp-sw--color {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 2px solid #cbd5e1;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}
.rcp-sw--color.is-selected {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .3), inset 0 0 0 1px rgba(0, 0, 0, .08);
}
.rcp-sw--image {
  position: relative;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  padding: 0;
}
.rcp-sw--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rcp-sw--image.is-selected {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .25);
}
.rcp-sw--image .rcp-check {
  position: absolute;
  right: 6px;
  bottom: 6px;
  display: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #f16931;
  color: #fff;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
  text-shadow: none;
}
.rcp-check {
  display: none;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .8);
}
.rcp-sw--color.is-selected .rcp-check {
  display: block;
}
.rcp-sw--image.is-selected .rcp-check {
  display: block;
}
.rcp-upload-section {
  display: grid;
  gap: 14px;
}
.rcp-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rcp-file-wrap {
  border: 2px dashed #cbd5e1;
  border-radius: 12px;
  background: #fff;
  padding: 22px;
  transition: border-color .15s ease, background .15s ease;
}
.rcp-file-wrap.is-dragging,
.rcp-file-wrap:hover {
  border-color: #f16931;
  background: rgba(241, 105, 49, .08);
}
.rcp-file-wrap input[type="file"] {
  width: 100%;
  color: #475569;
  font-size: 13px;
}
.rcp-file-note {
  color: #64748b;
  font-size: 12px;
  margin: 0;
}
.rcp-instructions {
  width: 100%;
  min-height: 88px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  padding: 10px 12px;
}
.rcp-instructions:focus {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .2);
  outline: none;
}
.rcp-order-notes-toggle {
  width: max-content;
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  padding: 0;
}
.rcp-order-notes-toggle:hover {
  color: #f16931;
}
.rcp-order-notes {
  width: 100%;
  min-height: 82px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  padding: 10px 12px;
}
.rcp-order-notes[hidden] {
  display: none;
}
.rcp-form .quantity {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.rcp-form .quantity::before {
  content: "Quantity";
  margin-right: 6px;
}
.rcp-form .qty {
  width: 72px;
  height: 40px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  text-align: center;
}
.woocommerce-variation-add-to-cart .quantity,
form.cart .quantity {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.rcp-qty-btn {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 16px;
  font-weight: 600;
}
.rcp-qty-btn:hover {
  border-color: #f16931;
  color: #f16931;
}
form.cart .qty {
  width: 48px;
  height: 36px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  text-align: center;
}
.rcp-cart-row {
  position: sticky;
  bottom: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border: 1px solid #f1f5f9;
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  padding: 0;
}
.rcp-atc,
.rcp-buy-now {
  min-height: 52px;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-transform: none;
}
.rcp-atc {
  background: #f16931;
}
.rcp-atc:hover:not([disabled]) {
  background: #d85520;
}
.rcp-buy-now {
  background: #222458;
}
.rcp-buy-now:hover {
  background: #2a2d6e;
}
.woocommerce-variation-add-to-cart .rcp-buy-now,
form.cart .rcp-buy-now {
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: #222458;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}
.woocommerce-variation-add-to-cart .rcp-buy-now:hover,
form.cart .rcp-buy-now:hover {
  background: #2a2d6e;
}
.woocommerce-variation-add-to-cart .rcp-buy-now:disabled,
form.cart .rcp-buy-now:disabled {
  background: #cbd5e1;
  cursor: not-allowed;
}
.rcp-atc[disabled] {
  background: #cbd5e1;
  cursor: not-allowed;
}
.rcp-meta {
  color: #64748b;
  font-size: 13px;
}
.rcp-meta a {
  color: #f16931;
}

.rcp-desc-section,
.rcp-related {
  border-top: 1px solid #e2e8f0;
  background: #fff;
}
.rcp-related {
  background: #f7f8fa;
}
.rcp-desc-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 24px;
}
.rcp-desc-inner h2 {
  color: #222458;
  font-family: var(--font-body);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.rcp-tab-nav {
  display: flex;
  gap: 32px;
  overflow-x: auto;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 28px;
}
.rcp-tab-nav button {
  position: relative;
  border: 0;
  background: transparent;
  color: #475569;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  padding: 0 0 14px;
  white-space: nowrap;
}
.rcp-tab-nav button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 999px;
  background: transparent;
}
.rcp-tab-nav button.is-active {
  color: #f16931;
}
.rcp-tab-nav button.is-active::after {
  background: #f16931;
}
.rcp-tab-panel {
  color: #334155;
  font-size: 15px;
  line-height: 1.7;
}
.rcp-tab-panel[hidden] {
  display: none;
}
.rcp-tab-panel table {
  width: 100%;
  border-collapse: collapse;
}
.rcp-tab-panel th,
.rcp-tab-panel td {
  border-bottom: 1px solid #e2e8f0;
  padding: 12px;
  text-align: left;
}
.rcp-tab-panel th {
  width: 220px;
  color: #0f172a;
  font-weight: 600;
}
.rcp-kicker {
  color: #f16931;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rcp-desc-content {
  color: #475569;
  line-height: 1.75;
}
.rcp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .85);
  padding: 24px;
}
.rcp-lightbox[hidden] { display: none; }
.rcp-lightbox img {
  max-width: min(980px, 92vw);
  max-height: 88vh;
  border-radius: 16px;
  object-fit: contain;
}
.rcp-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  color: #fff;
  font-size: 28px;
}

.rcp-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 48px;
  height: 64px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  cursor: pointer;
  font-size: 48px;
  line-height: 1;
}

.rcp-lightbox-nav:hover,
.rcp-lightbox-nav:focus {
  background: rgba(255, 255, 255, .28);
  color: #fff;
}

.rcp-lightbox-prev {
  left: 28px;
}

.rcp-lightbox-next {
  right: 28px;
}

@media (max-width: 640px) {
  .rcp-lightbox-nav {
    width: 40px;
    height: 52px;
    font-size: 38px;
  }

  .rcp-lightbox-prev {
    left: 10px;
  }

  .rcp-lightbox-next {
    right: 10px;
  }
}

@media (max-width: 980px) {
  .rcp-container {
    grid-template-columns: 1fr;
  }
  .rcp-gallery {
    position: static;
  }
}
@media (max-width: 640px) {
  .rcp-container {
    padding: 28px 16px 44px;
  }
  .rcp-price-delivery,
  .rcp-rating-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .rcp-delivery {
    text-align: left;
  }
  .rcp-cart-row {
    grid-template-columns: 1fr;
  }
  .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }
  .rcp-config-row {
    grid-template-columns: 1fr;
  }
  .rcp-upcharge-note {
    grid-column: 1;
  }
}

/* REX product configurator polish */
.single-product .rcp-page {
  --rcp-orange: #f16931;
  --rcp-navy: #222458;
  --rcp-text: #111827;
  --rcp-muted: #64748b;
  --rcp-line: #dbe5f1;
  --rcp-soft: #f8fafc;
  font-family: "Segoe UI Emoji", Sans-serif;
}

.single-product .rcp-container {
  grid-template-columns: minmax(520px, 1.03fr) minmax(420px, .97fr);
  gap: 40px;
  max-width: 1180px;
  padding-top: 32px;
}

.single-product .rcp-img-wrap {
  border-radius: 8px;
  background: #ffd4df;
  box-shadow: none;
}

.single-product .rcp-img-wrap img {
  object-fit: contain;
  padding: 36px 30px;
}

.single-product .rcp-thumb {
  width: 58px;
  flex-basis: 58px;
  border-radius: 8px;
  border-width: 2px;
}

.single-product .rcp-summary {
  gap: 14px;
}

.single-product .rcp-title {
  color: var(--rcp-text);
  font-size: 30px;
  line-height: 1.12;
}

.single-product .rcp-rating-row {
  gap: 8px;
  font-size: 12px;
}

.single-product .rcp-price-delivery {
  margin-top: 2px;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  color: var(--rcp-orange);
  font-size: 34px;
}

.single-product .rcp-bulk-pricing {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.single-product .rcp-bulk-pricing div {
  min-width: 0;
  border-color: #d5e0ee;
  border-radius: 9px;
  background: #f9fbff;
  padding: 9px 8px 8px;
}

.single-product .rcp-bulk-pricing span {
  color: #50627c;
  font-size: 13px;
  line-height: 1.15;
}

.single-product .rcp-bulk-pricing strong {
  color: #17213a;
  font-size: 18px;
  line-height: 1.15;
}

.single-product .rcp-bulk-pricing em {
  color: #7b8ead;
  font-size: 12px;
  font-weight: 500;
}

.single-product .rcp-wc-variation-form,
.single-product .rcp-wc-variation-options {
  gap: 14px;
}

.single-product .rcp-attr-group {
  gap: 8px;
}

.single-product .rcp-attr-name,
.single-product .rcp-field-label {
  color: #111827;
  font-size: 12px;
  font-weight: 600;
}

.single-product .rcp-attr-chosen {
  color: #53637b;
  font-size: 12px;
}

.single-product .rcp-swatches {
  gap: 9px;
}

.single-product .rcp-sw {
  cursor: pointer;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 54px;
  min-height: 44px;
  border: 1px solid #cfd9e8;
  border-radius: 7px;
  background: #fff;
  color: #17213a;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 14px;
}

.single-product .rcp-sw--size.is-selected,
.single-product .rcp-sw--label.is-selected {
  border-color: var(--rcp-orange);
  background: #fff7f2;
  color: var(--rcp-orange);
  box-shadow: 0 0 0 1px rgba(241, 105, 49, .12);
}

.single-product .rcp-sw--color {
  width: 30px;
  height: 30px;
  border: 1px solid #cfd9e8;
}

.single-product .rcp-sw--color.is-selected {
  border-color: var(--rcp-orange);
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(241, 105, 49, .35);
}

.single-product .rcp-sw--image {
  width: 78px;
  height: 70px;
  border: 1px solid #cfd9e8;
  border-radius: 8px;
}

.single-product .rcp-sw--image.is-selected {
  border-color: var(--rcp-orange);
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .25);
}

.single-product .rcp-sw--image small,
.single-product .rcp-sw--label small {
  display: block;
  margin-top: 5px;
  border-radius: 4px;
  background: #fff2cc;
  color: #b45309;
  font-size: 10px;
  padding: 2px 4px;
}

.single-product .rcp-variation-select {
  height: 38px;
  border-color: #d6e0ed;
  border-radius: 7px;
  color: #25324a;
  font-size: 12px;
  font-weight: 500;
  padding-top: 0;
  padding-bottom: 0;
}

.single-product .rcp-upcharge-note {
  min-height: 19px;
  margin-top: -3px;
  border-color: #f9d976;
  border-radius: 4px;
  background: #fff8dd;
  color: #b45309;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
}

.single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
  display: grid;
  grid-template-columns: 132px minmax(220px, 1fr);
  gap: 12px;
  align-items: end;
  margin-top: 8px;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product form.cart .quantity {
  display: grid;
  grid-template-columns: 34px 58px 34px;
  grid-template-rows: auto 38px;
  gap: 8px 8px;
  align-items: center;
}

.single-product .woocommerce-variation-add-to-cart .quantity::before,
.single-product form.cart .quantity::before {
  content: "Quantity";
  grid-column: 1 / -1;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
}

.single-product form.cart .qty {
  width: 58px;
  height: 38px;
  border-color: #cfd9e8;
  border-radius: 8px;
  color: #17213a;
  font-size: 14px;
}

.single-product .rcp-qty-btn {
  width: 34px;
  height: 34px;
  border-color: #cfd9e8;
  border-radius: 8px;
  color: #17213a;
  font-size: 16px;
}

.single-product .rcp-upload-section {
  display: grid;
  grid-column: 2;
  gap: 8px;
}

.single-product .rcp-upload-section .rcp-field:first-child {
  gap: 8px;
}

.single-product .rcp-upload-section .rcp-field:first-child .rcp-field-label {
  display: block !important;
}

.single-product .rcp-file-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid #c7d4e5;
  border-radius: 8px;
  background: #fff;
  padding: 0 14px;
}

.single-product .rcp-file-wrap::before {
  content: "Upload Artwork";
  color: #17213a;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-file-wrap input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.single-product .rcp-file-note {
  display: none;
}

.single-product .rcp-upload-section .rcp-field:nth-child(2) {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.single-product .rcp-price-box {
  grid-column: 1 / -1;
  border-color: #d9e3f0;
  border-radius: 12px;
  background: #f8fbff;
  font-size: 13px;
  padding: 13px 16px;
}

.single-product .rcp-price-line:first-child {
  padding-bottom: 9px;
  border-bottom: 1px solid #e3ebf5;
}

.single-product .rcp-price-box-total {
  border-top: 0;
  padding-top: 4px;
}

.single-product .rcp-price-box-total span {
  color: #111827;
  font-size: 17px;
}

.single-product .rcp-price-box-total strong {
  color: var(--rcp-orange);
  font-size: 30px;
  line-height: 1;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .rcp-buy-now,
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .rcp-buy-now {
  width: 100%;
  min-height: 46px;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 600;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now) {
  grid-column: 1 / 2;
  background: var(--rcp-orange);
}

.single-product .woocommerce-variation-add-to-cart .rcp-buy-now {
  grid-column: 2 / 3;
  background: var(--rcp-navy);
}

.single-product .rcp-order-notes-toggle {
  color: #71819a;
  font-size: 12px;
  font-weight: 600;
  margin-top: 4px;
}

@media (max-width: 1180px) {
  .single-product .rcp-container {
    grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
  }
}

@media (max-width: 980px) {
  .single-product .rcp-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .single-product .rcp-bulk-pricing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart,
  .single-product form.cart:not(.variations_form) {
    grid-template-columns: 1fr;
  }

  .single-product .rcp-upload-section {
    grid-column: 1;
  }

  .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
  .single-product .woocommerce-variation-add-to-cart .rcp-buy-now {
    grid-column: 1;
  }
}

/* Full Figma product page template */
.single-product .rcp-figma-product,
.single-product .rcp-figma-product * {
  box-sizing: border-box;
}

.single-product .rcp-shell {
  width: min(1180px, calc(100vw - 32px));
  margin-inline: auto;
}

.single-product .rcp-benefit-strip {
  border-top: 1px solid #edf1f6;
  border-bottom: 1px solid #dce5f0;
  background: #f8fafc;
}

.single-product .rcp-benefit-inner {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  min-height: 42px;
  align-items: center;
}

.single-product .rcp-benefit-inner span {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  column-gap: 7px;
  align-items: center;
  color: #17213a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.05;
}

.single-product .rcp-benefit-inner b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #f16931;
  color: #fff;
  font-size: 11px;
}

.single-product .rcp-benefit-inner .rcp-benefit-icon {
  display: block;
  grid-row: span 2;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.single-product .rcp-benefit-inner small {
  color: #7b8aa2;
  font-size: 9px;
  font-weight: 600;
}

.single-product .rcp-order-strip {
  background: #fff0e9;
  border-bottom: 1px solid #ffe0d1;
  padding: 7px 0;
}

.single-product .rcp-order-strip .rcp-shell {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
}

.single-product .rcp-order-strip span {
  color: #f16931;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
}

.single-product .rcp-order-strip ul {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .rcp-order-strip li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  border: 1px solid #ffc9b0;
  border-radius: 999px;
  background: #fff;
  color: #6b7280;
  font-size: 10px;
  font-weight: 600;
  padding: 0 10px 0 4px;
  white-space: nowrap;
}

.single-product .rcp-order-strip b {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #f16931;
  color: #fff;
  font-size: 9px;
}

.single-product .rcp-figma-product {
  background: #fff;
  color: #111827;
  font-family: "Segoe UI Emoji", Sans-serif;
}

.single-product .rcp-product-hero {
  display: grid;
  grid-template-columns: 560px 1fr;
  gap: 38px;
  align-items: start;
  padding: 42px 0 50px;
}

.single-product .rcp-gallery {
  position: static;
  display: grid;
  gap: 13px;
}

.single-product .rcp-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.36;
  border-radius: 8px;
  background: #d9eaff;
  box-shadow: none;
  overflow: hidden;
}

.single-product .rcp-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 42px 48px;
  transition: none;
}

.single-product .rcp-img-wrap:hover img {
  transform: none;
}

.single-product .rcp-view-badge,
.single-product .rcp-img-count {
  position: absolute;
  z-index: 2;
  border-radius: 999px;
  background: rgba(17, 24, 39, .62);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 9px;
}

.single-product .rcp-view-badge {
  top: 12px;
  left: 12px;
}

.single-product .rcp-img-count {
  right: 12px;
  bottom: 12px;
}

.single-product .rcp-thumbs {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 10px;
  align-items: center;
}

.single-product .rcp-thumb-track {
  display: flex;
  gap: 9px;
  overflow: hidden;
}

.single-product .rcp-thumb {
  width: 58px;
  flex: 0 0 58px;
  border: 2px solid transparent;
  border-radius: 8px;
  background: #e8f1ff;
  padding: 0;
  overflow: hidden;
}

.single-product .rcp-thumb img {
  display: block;
  width: 100%;
  height: 58px;
  object-fit: cover;
}

.single-product .rcp-thumb.is-active {
  border-color: #f16931;
  box-shadow: 0 0 0 1px rgba(241, 105, 49, .18);
}

.single-product .rcp-thumb-nav {
  width: 26px;
  height: 26px;
  border: 1px solid #e1e8f2;
  border-radius: 999px;
  background: #fff;
  color: #9aa7ba;
  font-size: 18px;
  line-height: 1;
}

.single-product .rcp-summary {
  display: grid;
  gap: 12px;
  align-content: start;
  padding-top: 2px;
}

.single-product .rcp-title {
  max-width: 430px;
  margin: 0;
  color: #111827;
  font-family: "Segoe UI Emoji", Sans-serif;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.08;
  text-transform: none;
}

.single-product .rcp-rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #74839b;
  font-size: 12px;
  line-height: 1;
}

.single-product .rcp-stars {
  display: inline-flex;
  gap: 1px;
  color: #fbbf24;
  font-size: 13px;
}

.single-product .rcp-stars span {
  color: #d6dee9;
}

.single-product .rcp-stars .is-filled {
  color: #fbbf24;
}

.single-product .rcp-sku {
  color: #74839b;
}

.single-product .rcp-price-delivery {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  margin-top: 4px;
}

.single-product .rcp-price {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  color: #f16931;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.single-product .rcp-price-sale del {
  color: #9aa7ba;
  font-size: 15px;
  font-weight: 600;
}

.single-product .rcp-price-sale ins {
  text-decoration: none;
}

.single-product .rcp-piece {
  color: #8290a5;
  font-size: 12px;
}

.single-product .rcp-delivery {
  min-width: 160px;
  color: #7b8aa2;
  text-align: right;
  font-size: 11px;
}

.single-product .rcp-delivery span {
  display: block;
  color: #7b8aa2;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
}

.single-product .rcp-delivery strong {
  color: #22c55e;
  font-size: 11px;
}

.single-product .rcp-delivery em {
  color: #8290a5;
  font-style: normal;
}

.single-product .rcp-bulk-pricing {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 75px));
  gap: 8px;
  margin: 2px 0 6px;
}

.single-product .rcp-bulk-pricing div {
  border: 1px solid #d8e1ee;
  border-radius: 8px;
  background: #f8fbff;
  padding: 7px 6px 6px;
  text-align: center;
}

.single-product .rcp-bulk-pricing span,
.single-product .rcp-bulk-pricing em {
  display: block;
  color: #6c7b94;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.1;
}

.single-product .rcp-bulk-pricing strong {
  display: block;
  color: #17213a;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.12;
  margin-top: 2px;
}

.single-product .rcp-bulk-pricing em {
  color: #8190aa;
  font-weight: 500;
  margin-top: 1px;
}

.single-product .rcp-summary form.cart {
  display: grid;
  gap: 12px;
  margin: 0;
}

.single-product .rcp-wc-variation-options {
  display: grid;
  gap: 12px;
}

.single-product .rcp-wc-variation-options .reset_variations {
  display: none !important;
}

.single-product .rcp-attr-group {
  display: grid;
  gap: 6px;
}

.single-product .rcp-attr-header {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
}

.single-product .rcp-attr-name,
.single-product .rcp-field-label {
  color: #111827;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.1;
}

.single-product .rcp-attr-chosen {
  color: #66758d;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
}

.single-product .rcp-attr-note {
  margin-left: 6px;
  color: #f16931;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.single-product .rcp-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.single-product .rcp-sw {
  cursor: pointer;
  font-family: inherit;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 56px;
  min-height: 39px;
  border: 1px solid #cfd9e8;
  border-radius: 7px;
  background: #fff;
  color: #17213a;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 12px;
}

.single-product .rcp-sw--size.is-selected,
.single-product .rcp-sw--label.is-selected {
  border-color: #f16931;
  background: #fff6f0;
  color: #f16931;
}

.single-product .rcp-sw--color {
  width: 29px;
  height: 29px;
  border: 1px solid #d4dce8;
  border-radius: 50%;
  padding: 0;
}

.single-product .rcp-sw--color.is-selected {
  border-color: #f16931;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(241, 105, 49, .32);
}

.single-product .rcp-check {
  font-size: 13px;
}

.single-product .rcp-variation-select {
  width: 100%;
  height: 38px;
  border: 1px solid #d7e0ed;
  border-radius: 7px;
  background-color: #fff;
  color: #25324a;
  font-size: 12px;
  font-weight: 500;
  padding: 0 34px 0 12px;
}

.single-product .rcp-upcharge-note {
  width: 100%;
  min-height: 18px;
  margin: -2px 0 0;
  border: 1px solid #f6dc82;
  border-radius: 4px;
  background: #fff8dc;
  color: #b45309;
  font-size: 10px;
  padding: 3px 8px;
}

.single-product .rcp-sw--image {
  display: grid;
  align-items: start;
  justify-items: center;
  width: 77px;
  min-height: 83px;
  height: auto;
  overflow: visible;
  border: 0;
  background: transparent;
  color: #17213a;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.15;
  padding: 0;
  text-align: center;
}

.single-product .rcp-sw--image img {
  width: 77px;
  height: 58px;
  border: 2px solid #d7e0ed;
  border-radius: 8px;
  object-fit: cover;
}

.single-product .rcp-sw--image.is-selected img {
  border-color: #f16931;
  box-shadow: 0 0 0 1px rgba(241, 105, 49, .2);
}

.single-product .rcp-sw--image small {
  margin-top: 3px;
  border-radius: 3px;
  background: #fff2c6;
  color: #b45309;
  font-size: 9px;
  padding: 1px 4px;
}

.single-product .rcp-wc-variation-form .single_variation_wrap {
  display: grid;
  gap: 10px;
}

.single-product .rcp-wc-variation-form .woocommerce-variation {
  display: none !important;
}

.single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form) {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(220px, 1.6fr);
  gap: 10px 16px;
  align-items: end;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  display: grid;
  grid-template-columns: 31px 47px 31px;
  grid-template-rows: auto 31px;
  gap: 7px;
  align-items: center;
  margin: 0;
}

.single-product .woocommerce-variation-add-to-cart .quantity::before,
.single-product .rcp-summary form.cart .quantity::before {
  content: "Quantity";
  grid-column: 1 / -1;
  color: #111827;
  font-size: 11px;
  font-weight: 600;
}

.single-product .rcp-summary form.cart .qty {
  width: 47px;
  height: 31px;
  border: 1px solid #d4dce8;
  border-radius: 7px;
  color: #17213a;
  font-size: 12px;
  text-align: center;
}

.single-product .rcp-qty-btn {
  width: 31px;
  height: 31px;
  border: 1px solid #d4dce8;
  border-radius: 7px;
  background: #fff;
  color: #17213a;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-upload-section {
  display: grid;
  grid-column: 2;
  gap: 6px;
  align-self: end;
}

.single-product .rcp-upload-section .rcp-field:first-child {
  gap: 7px;
}

.single-product .rcp-file-wrap {
  display: grid;
  place-items: center;
  min-height: 36px;
  border: 1px solid #cbd7e8;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
}

.single-product .rcp-file-wrap::before {
  content: "Upload Artwork";
  color: #17213a;
  font-size: 12px;
  font-weight: 600;
}

.single-product .rcp-file-wrap input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.single-product .rcp-file-note {
  display: none;
}

.single-product .rcp-upload-section .rcp-field:nth-child(2) {
  grid-column: 1 / -1;
}

.single-product .rcp-order-notes-toggle {
  color: #71819a;
  font-size: 11px;
  font-weight: 600;
  text-align: left;
  margin-top: 4px;
}

.single-product .rcp-order-notes {
  min-height: 62px;
  border: 1px solid #d7e0ed;
  border-radius: 7px;
  font-size: 12px;
}

.single-product .rcp-price-box {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #f8fbff;
  color: #5f6f87;
  font-size: 12px;
  padding: 12px 16px;
}

.single-product .rcp-price-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.single-product .rcp-price-line:first-child {
  padding-bottom: 8px;
  border-bottom: 1px solid #e3ebf5;
}

.single-product .rcp-price-line strong {
  color: #17213a;
}

.single-product .rcp-price-box-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 0;
  padding-top: 0;
}

.single-product .rcp-price-box-total span {
  color: #111827;
  font-size: 17px;
  font-weight: 600;
}

.single-product .rcp-price-box-total strong {
  color: #f16931;
  font-size: 29px;
  font-weight: 600;
  line-height: 1;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .rcp-buy-now,
.single-product .rcp-summary form.cart .single_add_to_cart_button,
.single-product .rcp-summary form.cart .rcp-buy-now {
  width: 100%;
  min-height: 45px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now) {
  grid-column: 1 / 2;
  background: #f16931;
}

.single-product .woocommerce-variation-add-to-cart .rcp-buy-now,
.single-product .rcp-summary form.cart .rcp-buy-now {
  grid-column: 2 / 3;
  background: #222458;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled {
  opacity: .6;
}

.single-product .rcp-product-tabs {
  padding: 0 0 52px;
}

.single-product .rcp-tab-nav {
  display: flex;
  gap: 44px;
  border-bottom: 1px solid #e3e9f2;
  margin: 0 0 28px;
  overflow-x: auto;
}

.single-product .rcp-tab-nav button {
  position: relative;
  border: 0;
  background: transparent;
  color: #475569;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  padding: 0 0 14px;
  white-space: nowrap;
}

.single-product .rcp-tab-nav button.is-active {
  color: #f16931;
}

.single-product .rcp-tab-nav button.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: #f16931;
}

.single-product .rcp-tab-panel {
  max-width: 1120px;
  color: #25324a;
  font-size: 13px;
  line-height: 1.65;
}

.single-product .rcp-tab-panel[hidden] {
  display: none;
}

.single-product .rcp-tab-panel h2 {
  margin: 0 0 18px;
  color: #111827;
  font-size: 19px;
  font-weight: 600;
}

.single-product .rcp-related {
  padding: 0 0 70px;
  background: #fff;
}

.single-product .rcp-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.single-product .rcp-section-head h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  font-weight: 600;
}

.single-product .rcp-section-head a {
  color: #f16931;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.single-product .rcp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.single-product .rcp-product-card {
  display: grid;
  gap: 8px;
  border: 1px solid #e1e8f2;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  overflow: hidden;
  padding-bottom: 14px;
  text-decoration: none;
}

.single-product .rcp-product-card img {
  width: 100%;
  aspect-ratio: 1.17;
  object-fit: cover;
}

.single-product .rcp-product-card > strong,
.single-product .rcp-product-card > span,
.single-product .rcp-product-card > em {
  margin-inline: 14px;
}

.single-product .rcp-product-card strong {
  min-height: 34px;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.single-product .rcp-card-rating {
  color: #fbbf24;
  font-size: 11px;
}

.single-product .rcp-card-rating small {
  color: #94a3b8;
}

.single-product .rcp-product-card em {
  color: #f16931;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
}

.single-product .rcp-works {
  background: #f4f7fb;
  padding: 76px 0 74px;
}

.single-product .rcp-works-head {
  max-width: 560px;
  margin: 0 auto 38px;
  text-align: center;
}

.single-product .rcp-works-head h2 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 30px;
  font-weight: 600;
}

.single-product .rcp-works-head p {
  margin: 0;
  color: #66758d;
  font-size: 13px;
  line-height: 1.55;
}

.single-product .rcp-works-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.single-product .rcp-work-card {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
  overflow: hidden;
}

.single-product .rcp-work-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.48;
  object-fit: cover;
}

.single-product .rcp-work-card div {
  display: grid;
  gap: 5px;
  padding: 15px 16px 18px;
}

.single-product .rcp-work-card span {
  color: #f16931;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.single-product .rcp-work-card strong {
  color: #111827;
  font-size: 15px;
  font-weight: 600;
}

.single-product .rcp-view-projects {
  display: grid;
  place-items: center;
  width: max-content;
  min-width: 150px;
  min-height: 44px;
  margin: 36px auto 0;
  border-radius: 8px;
  background: #f16931;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 1120px) {
  .single-product .rcp-benefit-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px 0;
  }

  .single-product .rcp-product-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .single-product .rcp-gallery {
    max-width: 640px;
    margin-inline: auto;
  }
}

@media (max-width: 720px) {
  .single-product .rcp-shell {
    width: min(100% - 24px, 1180px);
  }

  .single-product .rcp-benefit-inner {
    grid-template-columns: 1fr 1fr;
  }

  .single-product .rcp-product-hero {
    padding-top: 24px;
  }

  .single-product .rcp-price-delivery,
  .single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart,
  .single-product .rcp-summary form.cart:not(.variations_form) {
    grid-template-columns: 1fr;
  }

  .single-product .rcp-delivery {
    text-align: left;
  }

  .single-product .rcp-upload-section,
  .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
  .single-product .woocommerce-variation-add-to-cart .rcp-buy-now {
    grid-column: 1;
  }

  .single-product .rcp-bulk-pricing,
  .single-product .rcp-related-grid,
  .single-product .rcp-works-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-bulk-pricing,
  .single-product .rcp-related-grid,
  .single-product .rcp-works-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep every configurable attribute in a single vertical column. */
.single-product .rcp-summary form.cart > .rcp-attr-group,
.single-product .woocommerce-variation-add-to-cart > .rcp-attr-group,
.single-product .rcp-summary form.cart > .rcp-addon-attr-group,
.single-product .woocommerce-variation-add-to-cart > .rcp-addon-attr-group {
  grid-column: 1 / -1 !important;
  width: 100%;
}

.single-product .rcp-summary form.cart > .rcp-wc-variation-options,
.single-product .rcp-summary form.cart > .single_variation_wrap,
.single-product .rcp-summary form.cart > .rcp-price-box {
  grid-column: 1 / -1 !important;
  width: 100%;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box {
  grid-column: 1 / -1 !important;
}

.single-product .rcp-swatches .rcp-sw--custom-plus {
  display: grid;
  place-items: center;
  min-width: 58px;
  width: 58px;
  height: 48px;
  border: 1px solid #fb642d;
  border-radius: 10px;
  background: #fb642d;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 118px;
  width: auto;
  padding: 0 16px;
  font-size: 13px;
  white-space: nowrap;
}

.single-product .rcp-custom-or {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  height: 48px;
  padding: 0 2px;
  color: #7184a2;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.single-product .rcp-swatches--color .rcp-sw--custom-plus {
  min-width: 42px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  color: #6b86aa;
  border: 1px dashed #9db0ca;
}

.single-product .rcp-swatches .rcp-sw--custom-plus.is-selected {
  box-shadow: 0 0 0 3px rgba(251, 100, 45, .18);
}

.single-product .rcp-custom-width-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 100%;
  width: max-content;
  max-width: 100%;
  margin-top: 8px;
  color: #1c2d4a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.single-product .rcp-custom-width-toggle[hidden] {
  display: none;
}

.single-product .rcp-custom-width-toggle input {
  width: 16px;
  height: 16px;
  accent-color: #fb642d;
}

.single-product .rcp-custom-attribute-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 10px;
}

.single-product .rcp-custom-attribute-fields[hidden] {
  display: none;
}

.single-product .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  order: 10;
  grid-column: 1 / 2;
}

.single-product .woocommerce-variation-add-to-cart .rcp-upload-section,
.single-product .rcp-summary form.cart .rcp-upload-section {
  order: 10;
  grid-column: 2 / 3;
}

.single-product .woocommerce-variation-add-to-cart .rcp-order-notes-toggle,
.single-product .woocommerce-variation-add-to-cart .rcp-order-notes,
.single-product .rcp-summary form.cart .rcp-order-notes-toggle,
.single-product .rcp-summary form.cart .rcp-order-notes {
  order: 15;
  grid-column: 1 / -1;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now) {
  order: 20;
  grid-column: 1 / -1 !important;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
.single-product .rcp-summary form.cart > .rcp-price-box {
  order: 18;
  grid-column: 1 / -1 !important;
  margin: 0;
  padding: 12px 16px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-line,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-line {
  display: flex;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total {
  gap: 10px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total span,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total span {
  font-size: 17px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total strong,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total strong {
  font-size: 29px;
}

.single-product .woocommerce-variation-add-to-cart .rcp-buy-now,
.single-product .rcp-summary form.cart .rcp-buy-now {
  order: 30;
  grid-column: 2 / 3 !important;
  min-height: 45px;
  align-self: end;
  display: none !important;
}

.single-product .rcp-sticky-total-bar {
  order: 30;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  position: sticky;
  bottom: 12px;
  z-index: 30;
  align-items: stretch;
}

.single-product .rcp-sticky-total-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 45px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #f8fbff;
  color: #111827;
  padding: 10px 16px;
  box-shadow: 0 10px 24px rgba(17, 28, 54, .08);
  font-weight: 600;
}

.single-product .rcp-sticky-total-box span {
  font-size: 14px;
}

.single-product .rcp-sticky-total-box strong {
  color: #f16931;
  font-size: 24px;
  line-height: 1;
}

.single-product .rcp-sticky-buy-now {
  min-height: 45px;
  border: 0;
  border-radius: 7px;
  background: #222458;
  color: #fff;
  box-shadow: 0 10px 24px rgba(17, 28, 54, .08);
  font-size: 12px;
  font-weight: 600;
}

.single-product .rcp-sticky-buy-now:disabled {
  cursor: not-allowed;
  opacity: .6;
}

.single-product .woocommerce-variation-add-to-cart .rcp-upload-section,
.single-product .rcp-summary form.cart .rcp-upload-section {
  display: contents !important;
}

.single-product .woocommerce-variation-add-to-cart .rcp-upload-section > .rcp-field,
.single-product .rcp-summary form.cart .rcp-upload-section > .rcp-field {
  display: contents !important;
}

.single-product .rcp-artwork-toggle-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  order: 10;
  grid-column: 2 / 3;
  align-self: end;
}

.single-product .rcp-artwork-toggle-row > span {
  color: #111827;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-artwork-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  width: 100%;
  border: 2px solid #fb642d;
  border-radius: 10px;
  background: #fff4ee;
  color: #fb642d;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.single-product .rcp-artwork-toggle::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  -webkit-mask: url("https://rexcustomprints.com/wp-content/uploads/2026/07/upload-Icon.svg") center / contain no-repeat;
  mask: url("https://rexcustomprints.com/wp-content/uploads/2026/07/upload-Icon.svg") center / contain no-repeat;
}

.single-product .rcp-artwork-toggle[aria-expanded="true"] {
  background: #fb642d;
  color: #fff;
}

.single-product .rcp-artwork-panel {
  display: grid;
  gap: 14px;
  order: 12;
  grid-column: 1 / -1;
  width: 100%;
  border: 2px dashed #ffad91;
  border-radius: 18px;
  background: #fff;
  padding: 22px 24px;
}

.single-product .rcp-artwork-panel[hidden] {
  display: none !important;
}

.single-product .woocommerce-variation-add-to-cart .rcp-order-notes-toggle,
.single-product .woocommerce-variation-add-to-cart .rcp-order-notes,
.single-product .rcp-summary form.cart .rcp-order-notes-toggle,
.single-product .rcp-summary form.cart .rcp-order-notes {
  order: 19;
  grid-column: 1 / -1;
}

.single-product .rcp-artwork-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #0f1b35;
}

.single-product .rcp-artwork-head strong {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 600;
}

.single-product .rcp-artwork-head strong::before {
  content: "\1F5CE";
  color: #fb642d;
  font-size: 18px;
}

.single-product .rcp-artwork-close {
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #95a5bd;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.single-product .rcp-artwork-alert {
  border: 1px solid #ffd567;
  border-radius: 10px;
  background: #fff9e8;
  color: #b35100;
  padding: 10px 16px;
  font-size: 14px;
  line-height: 1.35;
}

.single-product .rcp-artwork-alert::before {
  content: "!";
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  border-radius: 50%;
  background: #f8b13c;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}

.single-product .rcp-file-wrap {
  display: grid !important;
  place-items: center;
  min-height: 220px;
  border: 2px dashed #cbd9ee;
  border-radius: 14px;
  background: #fff;
  padding: 34px 18px;
  color: #14213c;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.single-product .rcp-file-wrap::before {
  content: none !important;
}

.single-product .rcp-file-wrap.is-dragging,
.single-product .rcp-file-wrap:hover {
  border-color: #fb642d;
  background: #fff8f4;
}

.single-product .rcp-file-wrap input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.single-product .rcp-upload-icon {
  color: #99a9c1;
  font-size: 48px;
  line-height: .8;
}

.single-product .rcp-file-wrap strong {
  font-size: 16px;
  font-weight: 600;
}

.single-product .rcp-file-wrap span {
  color: #7184a2;
  font-size: 14px;
}

.single-product .rcp-file-wrap em {
  color: #fb642d;
  font-style: normal;
  text-decoration: underline;
}

.single-product .rcp-file-wrap small {
  color: #8b9bb7;
  font-size: 13px;
}

.single-product .rcp-artwork-files {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .rcp-artwork-files:empty {
  display: none;
}

.single-product .rcp-artwork-files li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #dce5f1;
  border-radius: 9px;
  background: #f8fbff;
  color: #17213a;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 600;
}

.single-product .rcp-artwork-files small {
  color: #7184a2;
  font-weight: 600;
}

.single-product .rcp-file-note {
  display: block !important;
  color: #5f7192;
  font-size: 13px;
  line-height: 1.45;
}

.single-product .rcp-file-note a {
  color: #fb642d;
  text-decoration: underline;
}

@media (max-width: 640px) {
  .single-product .woocommerce-variation-add-to-cart,
  .single-product .rcp-summary form.cart:not(.variations_form) {
    grid-template-columns: 1fr !important;
  }

  .single-product .woocommerce-variation-add-to-cart .quantity,
  .single-product .woocommerce-variation-add-to-cart .rcp-artwork-toggle-row,
  .single-product .woocommerce-variation-add-to-cart .rcp-upload-section,
  .single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
  .single-product .woocommerce-variation-add-to-cart .rcp-buy-now,
  .single-product .woocommerce-variation-add-to-cart .rcp-sticky-total-bar,
  .single-product .rcp-summary form.cart .quantity,
  .single-product .rcp-summary form.cart .rcp-artwork-toggle-row,
  .single-product .rcp-summary form.cart .rcp-upload-section,
  .single-product .rcp-summary form.cart > .rcp-price-box,
  .single-product .rcp-summary form.cart .rcp-buy-now,
  .single-product .rcp-summary form.cart .rcp-sticky-total-bar {
    grid-column: 1 / -1 !important;
  }

  .single-product .rcp-sticky-total-bar {
    grid-template-columns: 1fr;
  }
}

.single-product .rcp-custom-attribute-fields input {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbd8e8;
  border-radius: 8px;
  background: #fff;
  color: #1c2d4a;
  font-size: 15px;
  padding: 0 12px;
}

.single-product .rcp-custom-attribute-fields input::placeholder {
  color: #6f7f92;
}

.single-product .rcp-custom-attribute-fields input[readonly] {
  background: #f4f7fb;
  color: #405673;
  cursor: not-allowed;
}

.single-product .rcp-swatches--custom-only {
  margin-top: 8px;
}

.single-product .rcp-swatches--custom-only .rcp-custom-attribute-fields {
  grid-column: 1 / -1;
}

/* Commerce pages */
.rcp-commerce-page {
  background: #f5f7fb;
  color: #20304a;
  font-family: inherit;
  padding: 46px 0 72px;
}

.rcp-commerce-page .rcp-shell {
  width: min(100% - 48px, 1300px);
  margin-inline: auto;
}

.rcp-page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 30px;
  color: #7890ad;
  font-size: 15px;
  font-weight: 500;
}

.rcp-page-breadcrumb a {
  color: #6e86a5;
  text-decoration: none;
}

.rcp-page-breadcrumb strong {
  color: #17233d;
  font-weight: 600;
}

.rcp-page-title,
.rcp-auth-card h1,
.rcp-commerce-card h2 {
  margin: 0;
  color: #23245f;
  font-weight: 600;
  line-height: 1.15;
}

.rcp-page-title {
  margin-bottom: 30px;
  font-size: 34px;
}

.rcp-commerce-card {
  border: 1px solid #dfe7f1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(15, 23, 42, .04);
}

.rcp-primary-button,
.rcp-secondary-button,
.rcp-auth-card .login-submit input,
.rcp-register-form button[type="submit"] {
  display: grid;
  place-items: center;
  min-height: 58px;
  border: 0;
  border-radius: 10px;
  background: #fb642d;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.rcp-secondary-button {
  background: #252660;
}

.rcp-commerce-page input[type="text"],
.rcp-commerce-page input[type="email"],
.rcp-commerce-page input[type="tel"],
.rcp-commerce-page input[type="password"],
.rcp-commerce-page input[type="number"],
.rcp-commerce-page select,
.rcp-commerce-page textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #ccd8e7;
  border-radius: 8px;
  background: #fff;
  color: #20304a;
  font-size: 15px;
  padding: 0 15px;
  outline: 0;
}

.rcp-commerce-page textarea {
  min-height: 110px;
  padding-block: 13px;
  resize: vertical;
}

.rcp-commerce-page label {
  color: #31415c;
  font-size: 14px;
  font-weight: 600;
}

.rcp-commerce-page label span,
.rcp-commerce-page abbr.required {
  color: #fb642d;
  text-decoration: none;
}

/* Cart */
.rcp-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 386px;
  gap: 34px;
  align-items: start;
}

.rcp-cart-layout.is-updating {
  opacity: .72;
  pointer-events: none;
}

.rcp-cart-head,
.rcp-cart-item {
  display: grid;
  grid-template-columns: minmax(0, 56fr) minmax(0, 16fr) minmax(0, 20fr) minmax(0, 8fr);
  column-gap: 0;
  row-gap: 18px;
  align-items: center;
}

.rcp-cart-head {
  padding: 0 24px 14px;
  border-bottom: 1px solid #dfe7f1;
  color: #70849f;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

.rcp-cart-list {
  display: grid;
  gap: 18px;
}

.rcp-cart-item {
  min-height: 164px;
  padding: 24px;
  border: 1px solid #dfe7f1;
  border-radius: 14px;
  background: #fff;
  align-items: start;
}

.rcp-cart-product {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  grid-row: 1 / span 2;
  min-width: 0;
  padding-right: 24px;
}

.rcp-cart-thumb,
.rcp-cart-thumb img {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 12px;
  object-fit: cover;
}

.rcp-cart-product h2 {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
}

.rcp-cart-product h2 a {
  color: #17233d;
  text-decoration: none;
}

.rcp-cart-meta,
.rcp-cart-meta dl {
  margin: 0;
  color: #59708f;
  font-size: 14px;
  line-height: 1.45;
}

.rcp-cart-meta dt,
.rcp-cart-meta dd {
  display: inline;
  margin: 0;
}

.rcp-cart-meta dt {
  font-weight: 600;
}

.rcp-cart-meta dd:after {
  content: "";
  display: block;
}

.rcp-cart-breakdown-wrap {
  grid-column: 2 / -1;
  min-width: 0;
  width: 100%;
}

.rcp-cart-breakdown {
  width: 100%;
  max-width: none;
  margin: 0 0 12px;
  border-collapse: collapse;
  border: 1px solid #dfe7f1;
  border-radius: 10px;
  overflow: hidden;
  color: #405774;
  font-size: 13px;
}

.rcp-cart-breakdown th,
.rcp-cart-breakdown td {
  border-bottom: 1px solid #edf2f8;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.rcp-cart-breakdown th {
  width: 58%;
  background: #f8fbff;
  color: #17233d;
  font-weight: 600;
}

.rcp-cart-breakdown td {
  text-align: right;
  font-weight: 600;
}

.rcp-cart-breakdown tr:last-child th,
.rcp-cart-breakdown tr:last-child td {
  border-bottom: 0;
}

.rcp-cart-breakdown .is-total th,
.rcp-cart-breakdown .is-total td {
  color: #fb642d;
  font-size: 14px;
}

.rcp-cart-breakdown .is-saved th,
.rcp-cart-breakdown .is-saved td {
  color: #0f9f57;
  font-weight: 600;
}

.rcp-remove {
  display: inline-block;
  margin-top: 8px;
  color: #97a8bf;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.rcp-cart-price,
.rcp-cart-subtotal {
  color: #17233d;
  font-size: 16px;
  font-weight: 600;
  align-self: center;
  white-space: nowrap;
}

.rcp-cart-subtotal {
  color: #fb642d;
  font-size: 20px;
  justify-self: end;
  text-align: right;
}

.rcp-cart-quantity {
  align-self: center;
  justify-self: start;
}

.rcp-cart-quantity .quantity {
  display: grid;
  grid-template-columns: 42px 50px 42px;
  height: 42px;
  width: max-content;
  overflow: hidden;
  border: 1px solid #ccd8e7;
  border-radius: 10px;
  background: #fff;
}

.rcp-cart-quantity .qty {
  min-height: 40px !important;
  border: 0 !important;
  border-left: 1px solid #d8e2ef !important;
  border-right: 1px solid #d8e2ef !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-align: center;
  appearance: textfield;
}

.single-product form.cart .qty,
.single-product .woocommerce-variation-add-to-cart .qty,
.rcp-cart-quantity .qty {
  -moz-appearance: textfield;
  appearance: textfield;
}

.single-product form.cart .qty::-webkit-inner-spin-button,
.single-product form.cart .qty::-webkit-outer-spin-button,
.single-product .woocommerce-variation-add-to-cart .qty::-webkit-inner-spin-button,
.single-product .woocommerce-variation-add-to-cart .qty::-webkit-outer-spin-button,
.rcp-cart-quantity .qty::-webkit-inner-spin-button,
.rcp-cart-quantity .qty::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.rcp-cart-quantity .rcp-qty-btn {
  border: 0;
  background: #fff;
  color: #20304a;
  font-size: 20px;
  cursor: pointer;
}

.rcp-cart-actions {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 12px;
}

.rcp-cart-actions a,
.rcp-cart-actions button {
  border: 0;
  background: transparent;
  color: #68819f;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.rcp-cart-sidebar {
  position: sticky;
  top: 100px;
  display: grid;
  gap: 18px;
}

.rcp-coupon-card,
.rcp-total-card {
  padding: 24px;
}

.rcp-coupon-card h2,
.rcp-total-card h2 {
  margin-bottom: 20px;
  font-size: 21px;
}

.rcp-coupon-card > div {
  display: grid;
  grid-template-columns: 1fr 82px;
  gap: 10px;
}

.rcp-coupon-card button {
  border: 0;
  border-radius: 8px;
  background: #252660;
  color: #fff;
  font-weight: 600;
}

.rcp-total-card > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  color: #58708e;
  font-size: 16px;
}

.rcp-total-card strong {
  color: #17233d;
  font-weight: 600;
}

.rcp-total-card .rcp-coupon-total {
  align-items: center;
}

.rcp-total-card .rcp-coupon-total > span {
  display: block;
  min-width: 0;
}

.rcp-total-card .rcp-coupon-total > strong {
  display: block;
  flex: 0 0 auto;
  text-align: right;
  white-space: nowrap;
}

.rcp-total-card .rcp-coupon-total > strong .woocommerce-Price-amount,
.rcp-total-card .rcp-coupon-total > strong .woocommerce-Price-currencySymbol {
  display: inline !important;
  justify-content: initial;
  font-size: 16px !important;
  font-weight: 600;
}

.rcp-total-card .rcp-remove-coupon {
  display: flex;
  width: fit-content;
  margin: 4px 0 0 auto;
  color: #fb642d;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.rcp-total-card .is-free {
  color: #13b85d;
}

.rcp-total-card .rcp-grand {
  margin: 4px 0 18px;
  border-top: 1px solid #dfe7f1;
  color: #17233d;
  font-weight: 600;
}

.rcp-total-card .rcp-grand strong {
  color: #fb642d;
  font-size: 26px;
}

.rcp-total-card p {
  margin: 18px 0 0;
  color: #8aa0ba;
  font-size: 13px;
  text-align: center;
}

/* Checkout */
.rcp-secure-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  margin-bottom: 28px;
  border-radius: 14px;
  background: #252660;
  color: #fff;
  min-height: 44px;
  padding: 12px 22px;
  font-size: 13px;
  font-weight: 500;
}

.rcp-secure-strip span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.rcp-secure-icon {
  display: block;
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex: 0 0 auto;
}

.rcp-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 34%);
  gap: 34px;
  align-items: start;
}

.rcp-checkout-layout > .woocommerce-NoticeGroup,
.rcp-checkout-layout > .woocommerce-NoticeGroup-checkout,
.rcp-checkout-layout > .rcp-checkout-ajax-notice {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
}

.rcp-checkout-notices:empty {
  display: none;
}

.rcp-checkout-notices:not(:empty) {
  margin-bottom: 20px;
}

.rcp-checkout-page .woocommerce-error,
.rcp-checkout-page .woocommerce-info,
.rcp-checkout-page .woocommerce-message {
  width: 100%;
  margin: 0;
  border: 1px solid #f1d5d5;
  border-top: 3px solid #dc2626;
  border-radius: 10px;
  background: #fff;
  color: #17233d;
  padding: 14px 18px 14px 46px;
  font-size: 14px;
  line-height: 1.45;
}

.rcp-checkout-page .woocommerce-message {
  border-color: #cce8d7;
  border-top-color: #159447;
}

.rcp-checkout-page .woocommerce-info {
  border-color: #d9e2ef;
  border-top-color: #252660;
}

.rcp-checkout-layout.is-updating .rcp-order-card,
.rcp-checkout-layout.is-updating .rcp-payment-card,
.rcp-checkout-layout.is-updating .rcp-checkout-submit-card {
  opacity: .65;
  transition: opacity .18s ease;
}

.rcp-checkout-main {
  display: grid;
  gap: 22px;
}

.rcp-checkout-main .rcp-commerce-card,
.rcp-order-card {
  padding: 26px;
}

.rcp-checkout-main .rcp-commerce-card h2,
.rcp-order-card h2 {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf1f6;
  font-size: 21px;
  text-transform: none;
}

.rcp-checkout-main .woocommerce-billing-fields,
.rcp-checkout-main .woocommerce-shipping-fields,
.rcp-checkout-main .woocommerce-additional-fields {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.rcp-checkout-main .woocommerce-billing-fields > h3,
.rcp-checkout-main .woocommerce-shipping-fields > h3:not(#ship-to-different-address),
.rcp-checkout-main .woocommerce-additional-fields > h3 {
  display: none !important;
}

.rcp-checkout-main .woocommerce-billing-fields__field-wrapper,
.rcp-checkout-main .woocommerce-shipping-fields__field-wrapper,
.rcp-checkout-main .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}

.rcp-checkout-main .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rcp-checkout-main .form-row-wide,
.rcp-checkout-main #billing_company_field,
.rcp-checkout-main #billing_address_1_field,
.rcp-checkout-main #billing_address_2_field,
.rcp-checkout-main #billing_email_field,
.rcp-checkout-main #order_comments_field {
  grid-column: 1 / -1;
}

.rcp-checkout-main #billing_city_field,
.rcp-checkout-main #billing_state_field,
.rcp-checkout-main #billing_postcode_field,
.rcp-checkout-main #billing_phone_field,
.rcp-checkout-main #shipping_city_field,
.rcp-checkout-main #shipping_state_field,
.rcp-checkout-main #shipping_postcode_field,
.rcp-checkout-main #shipping_phone_field {
  grid-column: auto !important;
}

.rcp-checkout-main .form-row label {
  display: block;
  margin-bottom: 7px;
}

.rcp-checkout-main .select2-container {
  width: 100% !important;
}

.rcp-checkout-main select {
  height: 48px !important;
  min-height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: normal !important;
}

.rcp-checkout-main .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: 48px !important;
  min-height: 48px !important;
  border: 1px solid #ccd8e7;
  border-radius: 8px;
}

.rcp-checkout-main .select2-container .select2-selection--single .select2-selection__rendered {
  width: 100%;
  padding: 0 42px 0 15px !important;
  line-height: 46px !important;
}

.rcp-checkout-main .select2-container .select2-selection--single .select2-selection__arrow {
  top: 1px !important;
  right: 10px !important;
  height: 46px !important;
}

.rcp-checkout-main #ship-to-different-address {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 14px !important;
  line-height: 1.4;
  text-transform: none !important;
}

.rcp-checkout-main #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  cursor: pointer;
}

.rcp-checkout-main #ship-to-different-address-checkbox {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rcp-checkout-main .shipping_address {
  margin-top: 18px;
}

.rcp-checkout-main #order_comments {
  min-height: 100px;
}

.rcp-checkout-sidebar {
  display: grid;
  gap: 18px;
}

@media (min-width: 981px) {
  .rcp-checkout-sidebar {
    position: sticky;
    top: 100px;
    align-self: start;
  }
}

.rcp-order-card .shop_table {
  display: block;
  width: 100%;
  border: 0;
  margin: 0;
  border-collapse: collapse;
}

.rcp-order-card .shop_table thead {
  display: none;
}

.rcp-order-card .shop_table tbody,
.rcp-order-card .shop_table tfoot {
  display: block;
}

.rcp-order-card .shop_table tr.cart_item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #edf1f6;
}

.rcp-order-card .shop_table tr.cart_item td {
  display: block;
  min-width: 0;
  border: 0;
  padding: 0;
}

.rcp-order-card .shop_table tr.cart_item .product-name {
  position: relative;
}

.rcp-order-card .shop_table tr.cart_item .product-total {
  color: #17233d;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

.rcp-checkout-product {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-right: 8px;
}

.rcp-checkout-product-image {
  display: block;
  width: 48px !important;
  height: 48px !important;
  border-radius: 9px;
  object-fit: cover;
}

.rcp-checkout-product-copy,
.rcp-checkout-product-title {
  display: block;
  min-width: 0;
}

.rcp-checkout-product-title {
  color: #20304a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.rcp-checkout-product-copy small {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: #8294ad;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rcp-order-card .product-name > .product-quantity {
  position: absolute;
  top: -7px;
  left: 36px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fb642d;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  z-index: 1;
}

.rcp-order-card .shop_table tr.cart_item .variation {
  display: none;
}

.rcp-order-card .shop_table tfoot tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
}

.rcp-order-card .shop_table tfoot th,
.rcp-order-card .shop_table tfoot td {
  border: 0;
  border-bottom: 1px solid #edf1f6;
  padding: 11px 0;
  color: #20304a;
  font-size: 14px;
}

.rcp-order-card .shop_table tfoot th {
  font-weight: 500;
  text-align: left;
}

.rcp-order-card .shop_table tfoot td {
  text-align: right;
  white-space: nowrap;
}

.rcp-order-card .shop_table tfoot tr.cart-discount {
  align-items: start;
}

.rcp-order-card .shop_table tfoot tr.cart-discount td .woocommerce-Price-amount,
.rcp-order-card .shop_table tfoot tr.cart-discount td .woocommerce-Price-currencySymbol {
  display: inline !important;
  justify-content: initial;
  font-size: 14px !important;
  font-weight: 500;
}

.rcp-order-card .shop_table tfoot tr.cart-discount .woocommerce-remove-coupon {
  display: flex;
  width: fit-content;
  margin: 4px 0 0 auto;
  color: #fb642d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.rcp-order-card .shop_table tfoot tr.cart-discount .woocommerce-remove-coupon:hover,
.rcp-order-card .shop_table tfoot tr.cart-discount .woocommerce-remove-coupon:focus {
  color: #e95825;
  text-decoration: underline;
}

.rcp-order-card .order-total th,
.rcp-order-card .order-total td {
  border-bottom: 0;
  color: #17233d;
  font-size: 18px;
  font-weight: 600;
}

.rcp-order-card .order-total .amount {
  color: #fb642d;
  font-size: 26px;
}

.rcp-payment-card #payment {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
  padding: 0 !important;
}

.rcp-payment-card .wc_payment_methods {
  display: grid;
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none;
}

.rcp-payment-card .wc_payment_method {
  border: 1px solid #ccd8e7;
  border-radius: 10px;
  padding: 16px;
}

.rcp-payment-card .wc_payment_method > label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.rcp-payment-card .payment_box {
  margin: 14px 0 0 !important;
  border-radius: 8px !important;
  background: #f7f9fc !important;
  color: #6b7f9b !important;
  padding: 14px !important;
}

.rcp-payment-card .payment_box::before {
  display: none !important;
}

.rcp-payment-card fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.rcp-payment-card #wc-stripe-hidden-style-input {
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
}

.rcp-payment-card .wc_payment_method.payment_method_paypal {
  border-color: #fb642d;
}

.rcp-checkout-submit-card {
  padding: 24px;
}

.rcp-checkout-submit-card .place-order {
  margin: 0 !important;
  padding: 0 !important;
}

.rcp-checkout-submit-card .woocommerce-privacy-policy-text,
.rcp-checkout-submit-card .woocommerce-terms-and-conditions-wrapper {
  color: #506783;
  font-size: 12px;
  line-height: 1.5;
}

.rcp-checkout-submit-card .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
}

.rcp-checkout-submit-card .woocommerce-terms-and-conditions-checkbox-text {
  color: #111827;
}

.rcp-checkout-submit-card .woocommerce-terms-and-conditions-link,
.rcp-checkout-submit-card .woocommerce-terms-and-conditions-link:hover,
.rcp-checkout-submit-card .woocommerce-terms-and-conditions-link:focus {
  color: #f16931;
}

.rcp-checkout-submit-card #place_order {
  width: 100%;
  min-height: 58px;
  margin: 0 !important;
  border: 0;
  border-radius: 10px;
  background: #fb642d;
  color: #fff;
  font-weight: 600;
}

.rcp-checkout-submit-card #place_order:hover,
.rcp-checkout-submit-card #place_order:focus {
  background: #e95825;
  color: #fff;
}

.rcp-checkout-security {
  margin: 14px 0 0;
  color: #91a5c0;
  font-size: 12px;
  text-align: center;
}

.rcp-return-cart {
  color: #6e86a5;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}

/* Auth pages */
.rcp-auth-grid {
  display: grid;
  grid-template-columns: minmax(0, 620px) minmax(0, 540px);
  gap: 34px;
  align-items: start;
  justify-content: center;
}

.rcp-register-grid {
  grid-template-columns: minmax(0, 680px) minmax(0, 360px);
}

.rcp-auth-card,
.rcp-auth-benefits {
  padding: 38px;
}

.rcp-auth-card h1 {
  margin-bottom: 8px;
  font-size: 31px;
}

.rcp-auth-card > p,
.rcp-auth-benefits p {
  margin: 0 0 28px;
  color: #7287a4;
  font-size: 17px;
  line-height: 1.55;
}

.rcp-auth-card form {
  display: grid;
  gap: 18px;
}

.rcp-auth-card .login-username,
.rcp-auth-card .login-password,
.rcp-register-form .form-row {
  margin: 0;
}

.rcp-auth-card .login-username label,
.rcp-auth-card .login-password label,
.rcp-register-form label {
  display: block;
  margin-bottom: 8px;
}

.rcp-auth-card .login-remember {
  margin: 2px 0 0;
}

.rcp-auth-card .login-submit {
  margin: 8px 0 0;
}

.rcp-auth-card .login-submit input {
  width: 100%;
}

.rcp-auth-row,
.rcp-auth-switch {
  margin: 0;
  color: #7287a4;
  font-size: 15px;
  text-align: center;
}

.rcp-auth-row {
  margin-top: -48px;
  padding-right: 2px;
  text-align: right;
}

.rcp-auth-row a,
.rcp-auth-switch a,
.rcp-check-row a {
  color: #fb642d;
  font-weight: 600;
  text-decoration: none;
}

.rcp-social-login {
  display: grid;
  gap: 18px;
  margin-top: 8px;
  text-align: center;
}

.rcp-social-login span {
  color: #a1b0c5;
  font-size: 14px;
}

.rcp-social-login div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.rcp-social-login button {
  min-height: 52px;
  border: 1px solid #ccd8e7;
  border-radius: 10px;
  background: #fff;
  color: #20304a;
  font-size: 15px;
  font-weight: 600;
}

.rcp-social-login .is-facebook {
  border-color: #1877f2;
  background: #1877f2;
  color: #fff;
}

.rcp-auth-logo {
  max-width: 210px;
  margin-bottom: 28px;
}

.rcp-auth-logo img {
  max-width: 100%;
  height: auto;
}

.rcp-auth-benefits h2 {
  margin: 0 0 14px;
  color: #23245f;
  font-size: 25px;
  font-weight: 600;
}

.rcp-auth-benefits ul {
  display: grid;
  gap: 18px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.rcp-auth-benefits li {
  position: relative;
  padding-left: 32px;
  color: #4e6280;
  font-size: 16px;
}

.rcp-auth-benefits li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ffe7dd;
}

/* Login page layout. Keep these rules scoped so account, header, and footer styles are unchanged. */
.rcp-login-page {
  padding-bottom: 46px;
}

.rcp-login-page .rcp-auth-grid {
  grid-template-columns: minmax(0, 528px) minmax(0, 464px);
  gap: 32px;
}

.rcp-login-page .rcp-auth-card,
.rcp-login-page .rcp-auth-benefits {
  padding: 32px;
}

.rcp-login-page .rcp-auth-card h1 {
  margin-bottom: 6px;
  font-size: 24px;
  line-height: 1.25;
  text-transform: none;
}

.rcp-login-page .rcp-auth-card > p {
  margin-bottom: 26px;
  font-size: 14px;
}

.rcp-login-page .rcp-login-form {
  gap: 18px;
}

.rcp-login-page .rcp-password-control {
  position: relative;
  display: block;
}

.rcp-login-page .rcp-password-control input {
  padding-right: 48px;
}

.rcp-login-page .rcp-password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  display: grid;
  width: 36px;
  height: 36px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #8ca0bc;
  place-items: center;
  transform: translateY(-50%);
  cursor: pointer;
}

.rcp-login-page .rcp-password-toggle:hover,
.rcp-login-page .rcp-password-toggle:focus {
  background: transparent;
  color: #fb642d;
}

.rcp-login-page .rcp-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 2px;
  color: #4e6280;
  font-size: 14px;
}

.rcp-login-page .rcp-login-options .login-remember {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  cursor: pointer;
}

.rcp-login-page .rcp-login-options input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 0;
}

.rcp-login-page .rcp-login-options a,
.rcp-login-page .rcp-auth-switch a {
  color: #fb642d;
  font-weight: 500;
  text-decoration: none;
}

.rcp-login-page .rcp-auth-card .login-submit {
  margin: 0;
}

.rcp-login-page .rcp-login-submit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: #fb642d;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.rcp-login-page .rcp-login-submit-button:hover,
.rcp-login-page .rcp-login-submit-button:focus {
  background: #e95825;
  color: #fff;
}

.rcp-login-page .rcp-auth-switch {
  margin-top: 24px;
  font-size: 14px;
}

.rcp-login-page .rcp-social-login {
  gap: 18px;
  margin-top: 26px;
}

.rcp-login-page .rcp-social-login div {
  gap: 12px;
}

.rcp-login-page .rcp-social-login button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
}

.rcp-login-page .rcp-social-login button > span {
  color: inherit;
  font-size: 12px;
  font-weight: 600;
}

.rcp-login-page .rcp-auth-logo {
  max-width: 150px;
  margin-bottom: 24px;
}

.rcp-login-page .rcp-auth-benefits h2 {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.3;
  text-transform: none;
}

.rcp-login-page .rcp-auth-benefits p {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 1.55;
}

.rcp-login-page .rcp-auth-benefits ul {
  gap: 14px;
  margin-bottom: 24px;
}

.rcp-login-page .rcp-auth-benefits li {
  min-height: 19px;
  padding-left: 28px;
  font-size: 14px;
  line-height: 1.4;
}

.rcp-login-page .rcp-auth-benefits li:before {
  content: "\2713";
  top: 0;
  display: grid;
  width: 19px;
  height: 19px;
  background: #fff0e9;
  color: #fb642d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  place-items: center;
}

.rcp-login-page .rcp-auth-benefits .rcp-secondary-button {
  min-height: 48px;
}

.rcp-auth-benefits-dark {
  background: #252660;
  color: #fff;
}

.rcp-auth-benefits-dark h2,
.rcp-auth-benefits-dark p,
.rcp-auth-benefits-dark li {
  color: #fff;
}

.rcp-auth-benefits-dark li {
  padding-left: 36px;
}

.rcp-auth-benefits-dark li strong,
.rcp-auth-benefits-dark li span {
  display: block;
}

.rcp-auth-benefits-dark li span {
  color: #aebce0;
  font-size: 14px;
}

.rcp-register-side {
  display: grid;
  gap: 18px;
}

.rcp-segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #f8fafc;
}

.rcp-segmented button {
  min-height: 44px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #6a7e9a;
  font-weight: 600;
}

.rcp-segmented .is-active {
  background: #fb642d;
  color: #fff;
}

.rcp-register-form {
  grid-template-columns: 1fr 1fr;
}

.rcp-register-form .rcp-segmented,
.rcp-register-form .form-row-wide,
.rcp-register-form .rcp-check-row,
.rcp-register-form .rcp-primary-button,
.rcp-register-form .rcp-auth-switch {
  grid-column: 1 / -1;
}

.rcp-register-form small {
  display: block;
  margin-top: 7px;
  color: #8ca0bc;
  font-size: 13px;
  font-weight: 500;
}

.rcp-check-row {
  display: grid !important;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: start;
  margin: 0 !important;
  color: #405673;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.rcp-check-row input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

.rcp-rating-card {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 28px;
  text-align: center;
}

.rcp-rating-card strong {
  color: #fb642d;
  font-size: 34px;
  font-weight: 600;
}

.rcp-rating-card span,
.rcp-rating-card small {
  color: #7087a5;
}

.rcp-rating-card em {
  color: #fbbf24;
  font-style: normal;
}

/* My account */
.rcp-account-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.rcp-account-sidebar {
  display: grid;
  gap: 18px;
}

.rcp-account-user,
.rcp-account-nav,
.rcp-order-summary {
  border: 1px solid #dfe7f1;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 7px rgba(15, 23, 42, .04);
}

.rcp-account-user {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  padding: 22px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background: #252660;
  color: #fff;
}

.rcp-account-user > span,
.rcp-account-hero > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fb642d;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
}

.rcp-account-user strong,
.rcp-account-user small {
  display: block;
}

.rcp-account-user small {
  color: #aebce0;
}

.rcp-account-nav {
  display: grid;
  padding: 12px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.rcp-account-nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  border-radius: 10px;
  padding: 0 16px;
  color: #405673;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

.rcp-account-nav .is-active {
  background: #fff0e9;
  color: #fb642d;
}

.rcp-account-nav .is-logout {
  margin-top: 10px;
  border-top: 1px solid #edf1f6;
  color: #ff4747;
}

.rcp-order-summary {
  padding: 22px;
}

.rcp-order-summary h2 {
  margin: 0 0 16px;
  color: #70849f;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.rcp-order-summary p {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  color: #7087a5;
  font-size: 16px;
}

.rcp-order-summary strong {
  color: #17233d;
}

.rcp-account-main {
  padding: 36px;
}

.rcp-account-hero {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  min-height: 128px;
  padding: 28px;
  border-radius: 16px;
  background: #252660;
  color: #fff;
}

.rcp-account-hero > span {
  width: 64px;
  height: 64px;
  font-size: 28px;
}

.rcp-account-hero small,
.rcp-account-hero p {
  color: #b8c4e2;
}

.rcp-account-hero h1 {
  margin: 2px 0;
  color: #fff;
  font-size: 29px;
  font-weight: 600;
}

.rcp-account-stats {
  display: flex;
  gap: 30px;
  text-align: center;
}

.rcp-account-stats strong {
  color: #fb642d;
  font-size: 24px;
  font-weight: 600;
}

.rcp-account-stats span {
  display: block;
  color: #aebce0;
  font-size: 13px;
  font-weight: 600;
}

.rcp-account-intro {
  margin: 28px 0 30px;
  color: #4f6683;
  font-size: 17px;
  line-height: 1.65;
}

.rcp-account-main .rcp-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.rcp-account-main .rcp-section-head h2 {
  margin: 0;
  color: #17233d;
  font-size: 23px;
  font-weight: 600;
}

.rcp-account-main .rcp-section-head a {
  color: #fb642d;
  font-weight: 600;
  text-decoration: none;
}

.rcp-recent-orders {
  display: grid;
  gap: 14px;
}

.rcp-recent-orders article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px 120px;
  gap: 18px;
  align-items: center;
  min-height: 78px;
  border-radius: 14px;
  background: #f7f9fc;
  padding: 14px 20px;
}

.rcp-order-product {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
}

.rcp-order-product img,
.rcp-order-product > span {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: cover;
  overflow: hidden;
}

.rcp-order-product strong,
.rcp-order-product small {
  display: block;
}

.rcp-order-product strong {
  color: #17233d;
  font-size: 17px;
  font-weight: 600;
}

.rcp-order-product small {
  color: #7187a3;
}

.rcp-recent-orders em {
  justify-self: start;
  border-radius: 999px;
  background: #fff3c4;
  color: #9a6a00;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  padding: 6px 10px;
}

.rcp-recent-orders em.is-completed {
  background: #d7f8df;
  color: #15803d;
}

.rcp-recent-orders em.is-shipped {
  background: #dfeaff;
  color: #234aa0;
}

.rcp-recent-orders b {
  justify-self: end;
  color: #fb642d;
  font-size: 18px;
}

.rcp-order-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e5edf7;
}

.rcp-order-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin: 18px 0 16px;
}

.rcp-order-action,
.rcp-account-main .woocommerce-orders-table__cell-order-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 8px;
  border: 1px solid #ccd8e7;
  background: #fff;
  color: #252660;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 0 14px;
  text-decoration: none;
}

.rcp-order-action.is-repeat,
.rcp-account-main .woocommerce-orders-table__cell-order-actions .rex_repeat_order {
  border-color: #fb642d;
  background: #fb642d;
  color: #fff;
}

.rcp-order-action:hover,
.rcp-account-main .woocommerce-orders-table__cell-order-actions .button:hover {
  transform: translateY(-1px);
}

.rcp-account-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 28px;
}

.rcp-empty-state {
  padding: 34px;
  text-align: center;
}

.rcp-empty-state h2 {
  margin-bottom: 14px;
  font-size: 22px;
}

@media (min-width: 981px) {
  .rcp-cart-thumb {
    margin-top: 42px;
  }
}

@media (max-width: 980px) {
  .rcp-cart-layout,
  .rcp-checkout-layout,
  .rcp-auth-grid,
  .rcp-register-grid,
  .rcp-account-layout {
    grid-template-columns: 1fr;
  }

  .rcp-cart-sidebar,
  .rcp-checkout-sidebar {
    order: -1;
  }

  .rcp-cart-head {
    display: none;
  }

  .rcp-cart-item {
    grid-template-columns: 1fr;
  }

  .rcp-cart-product,
  .rcp-cart-breakdown-wrap {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .rcp-cart-product {
    padding-right: 0;
  }

  .rcp-secure-strip {
    flex-wrap: wrap;
  }

  .rcp-login-page .rcp-auth-grid {
    grid-template-columns: 1fr;
    max-width: 620px;
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .rcp-commerce-page .rcp-shell {
    width: min(100% - 24px, 1300px);
  }

  .rcp-checkout-main .woocommerce-billing-fields__field-wrapper,
  .rcp-checkout-main .woocommerce-shipping-fields__field-wrapper,
  .rcp-checkout-main .woocommerce-additional-fields__field-wrapper,
  .rcp-register-form,
  .rcp-social-login div,
  .rcp-account-actions,
  .rcp-account-hero,
  .rcp-recent-orders article {
    grid-template-columns: 1fr;
  }

  .rcp-auth-card,
  .rcp-auth-benefits,
  .rcp-account-main,
  .rcp-checkout-main .rcp-commerce-card,
  .rcp-order-card,
  .rcp-checkout-submit-card {
    padding: 22px;
  }

  .rcp-auth-row {
    margin-top: 0;
    text-align: left;
  }

  .rcp-account-stats {
    justify-content: space-between;
  }

  .rcp-login-page .rcp-auth-card,
  .rcp-login-page .rcp-auth-benefits {
    padding: 22px;
  }

  .rcp-login-page .rcp-login-options {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

p.rcp-upcharge-note {
  display: none;
}

/* Product page visual polish only. Keep behavior and calculations untouched. */
.single-product .rcp-shell {
  max-width: 1180px;
}

.single-product .rcp-product-hero {
  align-items: start;
  gap: 36px;
  padding-top: 38px;
  padding-bottom: 58px;
}

.single-product .rcp-gallery {
  gap: 14px;
}

.single-product .rcp-img-wrap {
  border-radius: 10px;
  background: #dbeafe;
  box-shadow: none;
}

.single-product .rcp-img-wrap img {
  object-fit: contain;
  padding: 34px 48px;
}

.single-product .rcp-view-badge,
.single-product .rcp-img-count {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.single-product .rcp-thumbs {
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 10px;
}

.single-product .rcp-thumb-nav {
  width: 28px;
  height: 28px;
  border: 1px solid #dbe5f2;
  border-radius: 999px;
  background: #fff;
  color: #9aaac0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .06);
}

.single-product .rcp-thumb-track {
  gap: 9px;
}

.single-product .rcp-thumb {
  width: 58px;
  height: 58px;
  border-radius: 8px;
  border: 1px solid #dbe5f2;
  background: #eef5ff;
  padding: 3px;
}

.single-product .rcp-thumb img {
  border-radius: 6px;
}

.single-product .rcp-thumb.is-active {
  border-color: #fb642d;
  box-shadow: 0 0 0 2px rgba(251, 100, 45, .16);
}

.single-product .rcp-summary {
  padding-top: 4px;
}

.single-product .rcp-title {
  max-width: 520px;
  margin-bottom: 8px;
  color: #111827;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.08;
  letter-spacing: 0;
}

.single-product .rcp-rating-row {
  gap: 9px;
  min-height: 20px;
  margin-bottom: 16px;
  color: #64748b;
  font-size: 12px;
}

.single-product .rcp-price-delivery {
  align-items: center;
  margin-bottom: 14px;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  color: #fb642d;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.single-product .rcp-piece {
  margin-left: 5px;
  color: #8091aa;
  font-size: 13px;
}

.single-product .rcp-delivery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 4px 9px;
  color: #8091aa;
  font-size: 12px;
}

.single-product .rcp-delivery span {
  flex: 0 0 100%;
  color: #71819a;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.single-product .rcp-delivery strong {
  color: #16a34a;
  font-size: 12px;
}

.single-product .rcp-bulk-pricing {
  gap: 8px;
  margin: 12px 0 18px;
}

.single-product .rcp-bulk-pricing div {
  min-height: 64px;
  border-radius: 8px;
  border-color: #d8e4f2;
  background: #f8fbff;
  padding: 8px 10px;
}

.single-product .rcp-bulk-pricing span,
.single-product .rcp-bulk-pricing em {
  font-size: 11px;
  line-height: 1.1;
}

.single-product .rcp-bulk-pricing strong {
  margin: 2px 0;
  color: #17213a;
  font-size: 18px;
  line-height: 1;
}

.single-product .rcp-attr-group,
.single-product .rcp-addon-attr-group {
  margin-bottom: 13px;
}

.single-product .rcp-attr-head,
.single-product .rcp-field-label {
  margin-bottom: 7px;
  color: #111827;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.single-product .rcp-attr-chosen {
  color: #6b7d96;
  font-weight: 600;
}

.single-product .rcp-swatches {
  align-items: center;
  gap: 9px;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 56px;
  height: 42px;
  min-height: 42px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1;
  padding: 0 14px;
}

.single-product .rcp-sw--color {
  width: 30px;
  height: 30px;
  border-width: 2px;
}

.single-product .rcp-sw--image {
  width: 78px;
  height: 76px;
  border-radius: 9px;
  padding: 3px;
}

.single-product .rcp-sw--image img {
  border-radius: 6px;
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 116px;
  height: 42px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 1;
}

.single-product .rcp-variation-select,
.single-product .rcp-native-select {
  height: 38px;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  background-color: #fff;
  color: #25324a;
  font-size: 12px;
  box-shadow: none;
}

.single-product .rcp-custom-attribute-fields input {
  height: 42px;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  font-size: 13px;
}

.single-product .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form) {
  gap: 12px 14px;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  grid-template-columns: 34px 58px 34px;
  gap: 8px;
}

.single-product form.cart .qty,
.single-product .rcp-qty-btn {
  height: 36px;
  border: 1px solid #cfd9e8;
  border-radius: 8px;
  background: #fff;
}

.single-product .rcp-qty-btn {
  display: grid;
  place-items: center;
  color: #17213a;
  font-size: 15px;
  font-weight: 600;
}

.single-product .rcp-artwork-toggle-row {
  align-items: end;
  gap: 8px;
}

.single-product .rcp-artwork-toggle-row > span {
  color: #111827;
  font-size: 13px;
  font-weight: 600;
}

.single-product .rcp-artwork-toggle {
  min-height: 38px;
  border-radius: 8px;
  border: 1px solid #cfd9e8;
  background: #fff;
  color: #17213a;
  font-size: 13px;
  font-weight: 600;
}

.single-product .rcp-artwork-toggle[aria-expanded="true"] {
  background: #fff3ee;
  border-color: #fb642d;
  color: #fb642d;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
.single-product .rcp-summary form.cart > .rcp-price-box {
  border-radius: 12px;
  border-color: #dce6f2;
  background: #f8fbff;
  padding: 12px 16px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-line,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-line {
  min-height: 27px;
  align-items: center;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total {
  min-height: 38px;
  align-items: center;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total strong,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total strong {
  font-size: 28px;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-sticky-buy-now {
  min-height: 46px;
  border-radius: 8px;
  border: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now) {
  background: #fb642d;
  color: #fff;
}

.single-product .rcp-sticky-total-bar {
  gap: 12px;
  bottom: 10px;
}

.single-product .rcp-sticky-total-box,
.single-product .rcp-sticky-buy-now {
  min-height: 46px;
  border-radius: 8px;
}

.single-product .rcp-sticky-total-box {
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.single-product .rcp-sticky-buy-now {
  background: #252660;
}

.single-product .rcp-order-notes-toggle {
  width: max-content;
  padding: 0;
  color: #60738f;
  font-size: 12px;
}

.single-product .rcp-tab-nav {
  gap: 24px;
  border-bottom: 1px solid #e6edf5;
}

.single-product .rcp-tab-nav button {
  min-height: 42px;
  color: #44546b;
  font-size: 12px;
  font-weight: 600;
}

.single-product .rcp-tab-nav button.is-active {
  color: #fb642d;
}

.single-product .rcp-product-card,
.single-product .rcp-work-card {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}

.single-product .rcp-product-card img {
  aspect-ratio: 1.22;
  object-fit: cover;
}

.single-product .rcp-view-projects {
  min-height: 42px;
  border-radius: 8px;
  box-shadow: none;
}

@media (max-width: 720px) {
  .single-product .rcp-img-wrap img {
    padding: 22px;
  }

  .single-product .rcp-title {
    font-size: 28px;
  }

  .single-product .rcp-delivery {
    justify-content: flex-start;
  }

  .single-product .rcp-sticky-total-bar {
    grid-template-columns: 1fr;
    position: static;
  }
}

/* Product page UI alignment pass. Visual-only overrides. */
.single-product .rcp-shell {
  max-width: 1120px;
}

.single-product .rcp-product-hero {
  grid-template-columns: minmax(0, 465px) minmax(0, 520px);
  gap: 34px;
  padding-top: 34px;
  padding-bottom: 34px;
}

.single-product .rcp-gallery {
  gap: 12px;
}

.single-product .rcp-img-wrap {
  aspect-ratio: 1.38;
  min-height: 0;
  overflow: hidden;
}

.single-product .rcp-img-wrap img {
  width: 100%;
  height: 100%;
  padding: 32px 46px;
}

.single-product .rcp-thumbs {
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  margin-top: 0;
}

.single-product .rcp-thumb-track {
  gap: 8px;
}

.single-product .rcp-thumb {
  width: 54px;
  height: 54px;
}

.single-product .rcp-summary {
  max-width: 520px;
  padding-top: 2px;
}

.single-product .rcp-title {
  max-width: 480px;
  margin-bottom: 7px;
  font-size: 32px;
  line-height: 1.08;
}

.single-product .rcp-rating-row {
  margin-bottom: 14px;
}

.single-product .rcp-price-delivery {
  margin-bottom: 12px;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  font-size: 30px;
}

.single-product .rcp-bulk-pricing {
  gap: 7px;
  margin: 10px 0 14px;
}

.single-product .rcp-bulk-pricing div {
  min-height: 58px;
  padding: 7px 8px;
}

.single-product .rcp-bulk-pricing strong {
  font-size: 16px;
}

.single-product .rcp-attr-group,
.single-product .rcp-addon-attr-group {
  margin-bottom: 10px;
}

.single-product .rcp-attr-head,
.single-product .rcp-field-label {
  margin-bottom: 6px;
  font-size: 11px;
}

.single-product .rcp-swatches {
  gap: 8px;
}

.single-product .rcp-sw--color {
  width: 28px;
  height: 28px;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 52px;
  height: 38px;
  min-height: 38px;
  border-radius: 7px;
  font-size: 13px;
  padding: 0 12px;
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 104px;
  height: 38px;
  min-height: 38px;
}

.single-product .rcp-sw--image {
  width: 70px;
  height: 68px;
}

.single-product .rcp-variation-select,
.single-product .rcp-native-select {
  height: 34px;
  min-height: 34px;
  border-radius: 7px;
  font-size: 11px;
}

.single-product .rcp-custom-attribute-fields {
  gap: 8px;
  margin-top: 8px;
}

.single-product .rcp-custom-attribute-fields input {
  height: 36px;
  border-radius: 7px;
  font-size: 12px;
}

.single-product .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form) {
  gap: 10px 14px;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  grid-template-columns: 32px 54px 32px;
}

.single-product form.cart .qty,
.single-product .rcp-qty-btn {
  height: 32px;
  border-radius: 7px;
}

.single-product .rcp-artwork-toggle {
  min-height: 34px;
  border-radius: 7px;
  font-size: 12px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
.single-product .rcp-summary form.cart > .rcp-price-box {
  padding: 10px 14px;
  border-radius: 10px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-line,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-line {
  min-height: 24px;
  font-size: 12px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total {
  min-height: 34px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total strong,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total strong {
  font-size: 26px;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now) {
  min-height: 40px;
  background: #fb642d;
  color: #fff;
  opacity: 1;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now):disabled,
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now):disabled {
  opacity: .62;
}

.single-product .rcp-sticky-total-bar {
  gap: 10px;
  margin-top: 0;
}

.single-product .rcp-sticky-total-box,
.single-product .rcp-sticky-buy-now {
  min-height: 40px;
  border-radius: 7px;
}

.single-product .rcp-sticky-total-box {
  padding: 0 16px;
}

.single-product .rcp-sticky-buy-now {
  font-size: 12px;
}

.single-product .rcp-order-notes-toggle {
  margin-top: -2px;
  font-size: 11px;
}

.single-product .rcp-product-tabs {
  margin-top: 0;
}

.single-product .rcp-tab-nav {
  gap: 28px;
}

.single-product .rcp-tab-nav button {
  min-height: 38px;
  font-size: 11px;
}

.single-product .rcp-tab-panel {
  padding-top: 18px;
}

.single-product .rcp-tab-panel h2 {
  margin-bottom: 14px;
  font-size: 18px;
  text-transform: none;
}

.single-product .rcp-desc-content {
  max-width: 980px;
  font-size: 13px;
  line-height: 1.6;
}

.single-product .rcp-tab-panel .rcp-desc-content > p {
  margin-bottom: 1em;
}

.single-product .rcp-tab-panel .rcp-desc-content > ul {
  margin-bottom: 1em;
}

.single-product .rcp-related {
  padding-top: 28px;
  padding-bottom: 54px;
}

.single-product .rcp-related-grid {
  gap: 20px;
}

.single-product .rcp-product-card {
  min-height: 0;
}

.single-product .rcp-product-card img {
  aspect-ratio: 1.16;
}

.single-product .rcp-works {
  padding: 66px 0 62px;
}

.single-product .rcp-works-head {
  margin-bottom: 34px;
}

.single-product .rcp-works-head h2 {
  font-size: 26px;
  text-transform: none;
}

.single-product .rcp-works-grid {
  gap: 22px;
}

.single-product .rcp-work-card img {
  aspect-ratio: 1.48;
}

.single-product .rcp-work-card div {
  padding: 14px 16px 16px;
}

@media (max-width: 980px) {
  .single-product .rcp-product-hero {
    grid-template-columns: 1fr;
  }

  .single-product .rcp-summary {
    max-width: none;
  }
}

/* Fixed design viewport targets: desktop 1440, tablet 720, mobile 430. */
.single-product .rcp-figma-product {
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

.single-product .rcp-benefit-inner,
.single-product .rcp-order-strip .rcp-shell,
.single-product .rcp-figma-product .rcp-shell {
  width: min(100% - 160px, 1180px);
}

@media (max-width: 720px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 32px, 688px);
  }

  .single-product .rcp-product-hero {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 24px;
    padding-bottom: 30px;
  }

  .single-product .rcp-img-wrap {
    aspect-ratio: 1.35;
  }

  .single-product .rcp-summary {
    max-width: none;
  }

  .single-product .rcp-title {
    max-width: none;
    font-size: 28px;
  }

  .single-product .rcp-price-delivery {
    gap: 14px;
  }

  .single-product .rcp-bulk-pricing,
  .single-product .rcp-related-grid,
  .single-product .rcp-works-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product .rcp-tab-nav {
    gap: 18px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .single-product .rcp-tab-nav::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 430px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 24px, 406px);
  }

  .single-product .rcp-product-hero {
    gap: 18px;
    padding-top: 18px;
    padding-bottom: 24px;
  }

  .single-product .rcp-img-wrap {
    aspect-ratio: 1.18;
  }

  .single-product .rcp-img-wrap img {
    padding: 22px 24px;
  }

  .single-product .rcp-thumbs {
    grid-template-columns: 26px minmax(0, 1fr) 26px;
    gap: 8px;
  }

  .single-product .rcp-thumb {
    width: 48px;
    height: 48px;
  }

  .single-product .rcp-title {
    font-size: 25px;
  }

  .single-product .rcp-price-sale,
  .single-product .rcp-price-sale .amount {
    font-size: 28px;
  }

  .single-product .rcp-bulk-pricing,
  .single-product .rcp-related-grid,
  .single-product .rcp-works-grid {
    grid-template-columns: 1fr;
  }

  .single-product .rcp-swatches {
    gap: 7px;
  }

  .single-product .rcp-sw--size,
  .single-product .rcp-sw--label,
  .single-product .rcp-swatches .rcp-sw--custom-full {
    min-width: 48px;
    height: 36px;
    min-height: 36px;
  }

  .single-product .rcp-sticky-total-bar {
    grid-template-columns: 1fr;
    position: static;
  }

  .single-product .rcp-works {
    padding: 44px 0 46px;
  }
}

/* Figma Make alignment layer. Source: curve-print Figma Make Tailwind output. */
.single-product {
  --rcp-figma-orange: #f16931;
  --rcp-figma-orange-hover: #d85520;
  --rcp-figma-navy: #222458;
  --rcp-figma-soft: #f8fafc;
  --rcp-figma-muted: #64748b;
  --rcp-figma-border: #e2e8f0;
}

.single-product .rcp-figma-product {
  max-width: 1440px;
  margin-inline: auto;
  background: #fff;
}

.single-product .rcp-benefit-inner,
.single-product .rcp-order-strip .rcp-shell,
.single-product .rcp-figma-product .rcp-shell {
  width: min(100% - 32px, 1280px);
  max-width: 1280px;
}

.single-product .rcp-benefit-strip {
  background: #f8fafc;
  border-block: 1px solid var(--rcp-figma-border);
}

.single-product .rcp-benefit-inner {
  min-height: 48px;
  gap: 16px 18px;
}

.single-product .rcp-benefit-inner span {
  column-gap: 8px;
  font-size: 12px;
  font-weight: 600;
}

.single-product .rcp-benefit-inner b {
  width: 24px;
  height: 24px;
  background: var(--rcp-figma-orange);
}

.single-product .rcp-benefit-inner small {
  color: var(--rcp-figma-muted);
  font-size: 10px;
}

.single-product .rcp-order-strip {
  background: rgba(241, 105, 49, .1);
  border-bottom: 1px solid var(--rcp-figma-border);
  padding: 12px 0;
}

.single-product .rcp-order-strip .rcp-shell {
  gap: 8px;
}

.single-product .rcp-order-strip span {
  margin-right: 12px;
  color: var(--rcp-figma-orange);
  font-size: 12px;
  letter-spacing: .025em;
}

.single-product .rcp-order-strip ul {
  flex: 1 1 auto;
  gap: 4px;
}

.single-product .rcp-order-strip li {
  height: 26px;
  gap: 6px;
  border-color: rgba(241, 105, 49, .3);
  border-radius: 999px;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px 4px 4px;
}

.single-product .rcp-order-strip b {
  width: 16px;
  height: 16px;
  background: var(--rcp-figma-orange);
  font-size: 10px;
}

.single-product .rcp-product-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  padding-top: 48px;
  padding-bottom: 48px;
}

.single-product .rcp-gallery {
  gap: 12px;
}

.single-product .rcp-img-wrap {
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  background: #dbeafe;
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .1);
}

.single-product .rcp-img-wrap img {
  padding: 42px 56px;
}

.single-product .rcp-view-badge,
.single-product .rcp-img-count {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .6);
  font-size: 12px;
  font-weight: 500;
}

.single-product .rcp-view-badge {
  top: 12px;
  left: 12px;
}

.single-product .rcp-img-count {
  right: 12px;
  bottom: 12px;
}

.single-product .rcp-thumbs {
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 8px;
}

.single-product .rcp-thumb-nav {
  width: 28px;
  height: 28px;
  border-color: var(--rcp-figma-border);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
}

.single-product .rcp-thumb-track {
  gap: 8px;
}

.single-product .rcp-thumb {
  width: 72px;
  height: 72px;
  flex-basis: 72px;
  border-width: 2px;
  border-radius: 12px;
  background: transparent;
  padding: 0;
}

.single-product .rcp-thumb img {
  height: 72px;
  border-radius: 10px;
}

.single-product .rcp-thumb.is-active {
  border-color: var(--rcp-figma-orange);
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .3);
}

.single-product .rcp-summary {
  max-width: none;
  gap: 24px;
  padding-top: 0;
}

.single-product .rcp-title {
  max-width: 560px;
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
}

.single-product .rcp-rating-row {
  gap: 16px;
  margin-bottom: 0;
  color: #475569;
  font-size: 14px;
}

.single-product .rcp-stars {
  font-size: 16px;
}

.single-product .rcp-price-delivery {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  color: var(--rcp-figma-orange);
  font-size: 36px;
  font-weight: 600;
}

.single-product .rcp-piece {
  color: var(--rcp-figma-muted);
  font-size: 14px;
}

.single-product .rcp-delivery {
  min-width: 190px;
  color: #475569;
  font-size: 14px;
  text-align: right;
}

.single-product .rcp-delivery span {
  color: var(--rcp-figma-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .025em;
}

.single-product .rcp-delivery strong {
  color: #15803d;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-bulk-pricing {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.single-product .rcp-bulk-pricing div {
  min-width: 76px;
  min-height: 70px;
  border-color: var(--rcp-figma-border);
  border-radius: 8px;
  background: #f8fafc;
  padding: 8px 12px;
}

.single-product .rcp-bulk-pricing span,
.single-product .rcp-bulk-pricing em {
  color: var(--rcp-figma-muted);
  font-size: 11px;
  font-weight: 600;
}

.single-product .rcp-bulk-pricing strong {
  color: #334155;
  font-size: 16px;
  font-weight: 600;
}

.single-product .rcp-summary form.cart,
.single-product .rcp-wc-variation-options {
  gap: 12px;
}

.single-product .rcp-attr-group,
.single-product .rcp-addon-attr-group {
  gap: 12px;
  margin-bottom: 0;
}

.single-product .rcp-attr-name,
.single-product .rcp-field-label,
.single-product .rcp-attr-head {
  color: #0f172a;
  font-size: 16px;
  font-weight: 600;
}

.single-product .rcp-attr-chosen {
  color: #475569;
  font-size: 16px;
  font-weight: 400;
}

.single-product .rcp-swatches {
  gap: 8px;
  align-items: center;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 64px;
  min-height: 48px;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 24px;
}

.single-product .rcp-sw--size.is-selected,
.single-product .rcp-sw--label.is-selected {
  border-color: var(--rcp-figma-orange);
  background: rgba(241, 105, 49, .1);
  color: var(--rcp-figma-orange);
}

.single-product .rcp-sw--color {
  width: 40px;
  height: 40px;
  border: 2px solid #cbd5e1;
}

.single-product .rcp-sw--color.is-selected {
  border-color: var(--rcp-figma-orange);
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .3);
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 112px;
  min-height: 48px;
  border-radius: 8px;
  background: var(--rcp-figma-orange);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-variation-select,
.single-product .rcp-native-select {
  height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  padding-inline: 12px 32px;
}

.single-product .rcp-upcharge-note {
  min-height: 24px;
  border-color: #fde68a;
  border-radius: 4px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  padding: 4px 8px;
}

.single-product .rcp-sw--image {
  width: 100px;
  min-height: 116px;
  gap: 4px;
  font-size: 12px;
}

.single-product .rcp-sw--image img {
  width: 100px;
  height: 75px;
  border: 2px solid var(--rcp-figma-border);
  border-radius: 12px;
}

.single-product .rcp-sw--image.is-selected img {
  border-color: var(--rcp-figma-orange);
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, .1);
}

.single-product .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form),
.single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  grid-template-columns: 36px 56px 36px;
  grid-template-rows: auto 36px;
  gap: 8px;
}

.single-product .woocommerce-variation-add-to-cart .quantity::before,
.single-product .rcp-summary form.cart .quantity::before {
  color: #0f172a;
  font-size: 14px;
  font-weight: 600;
}

.single-product form.cart .qty,
.single-product .rcp-qty-btn {
  height: 36px;
  border-color: #cbd5e1;
  border-radius: 8px;
}

.single-product .rcp-upload-section {
  gap: 8px;
}

.single-product .rcp-artwork-toggle,
.single-product .rcp-file-wrap {
  min-height: 42px;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-artwork-toggle[aria-expanded="true"] {
  border-color: var(--rcp-figma-orange);
  background: rgba(241, 105, 49, .1);
  color: var(--rcp-figma-orange);
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
.single-product .rcp-summary form.cart > .rcp-price-box {
  gap: 6px;
  border-color: var(--rcp-figma-border);
  border-radius: 12px;
  background: #f8fafc;
  padding: 12px 16px;
}

.single-product .rcp-price-line,
.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-line,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-line {
  min-height: 24px;
  color: #475569;
  font-size: 14px;
}

.single-product .rcp-price-box-total {
  border-top: 1px solid var(--rcp-figma-border);
  padding-top: 6px;
}

.single-product .rcp-price-box-total span {
  color: #1e293b;
  font-size: 16px;
  font-weight: 600;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total strong,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total strong {
  color: var(--rcp-figma-orange);
  font-size: 24px;
  font-weight: 600;
}

.single-product .rcp-order-notes-toggle {
  color: var(--rcp-figma-muted);
  font-size: 14px;
  font-weight: 500;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-sticky-buy-now {
  min-height: 52px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now) {
  background: var(--rcp-figma-orange);
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now):hover,
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now):hover {
  background: var(--rcp-figma-orange-hover);
}

.single-product .rcp-sticky-total-bar {
  gap: 12px;
  border: 1px solid #f1f5f9;
  border-radius: 12px;
  background: rgba(255, 255, 255, .95);
}

.single-product .rcp-sticky-total-box,
.single-product .rcp-sticky-buy-now {
  min-height: 52px;
  border-radius: 8px;
}

.single-product .rcp-sticky-buy-now {
  background: var(--rcp-figma-navy);
}

.single-product .rcp-product-tabs {
  padding-bottom: 48px;
}

.single-product .rcp-tab-nav {
  gap: 32px;
  margin-bottom: 24px;
}

.single-product .rcp-tab-nav button {
  color: #475569;
  font-size: 14px;
  font-weight: 600;
}

.single-product .rcp-tab-nav button.is-active {
  color: var(--rcp-figma-orange);
}

.single-product .rcp-tab-nav button.is-active::after {
  background: var(--rcp-figma-orange);
}

.single-product .rcp-tab-panel {
  color: #334155;
  font-size: 14px;
}

.single-product .rcp-tab-panel h2,
.single-product .rcp-section-head h2 {
  color: #0f172a;
  font-size: 24px;
  font-weight: 600;
}

.single-product .rcp-related {
  padding: 48px 0;
  border-top: 1px solid var(--rcp-figma-border);
}

.single-product .rcp-related-grid {
  gap: 24px;
}

.single-product .rcp-product-card {
  border-color: var(--rcp-figma-border);
  border-radius: 8px;
  box-shadow: none;
}

.single-product .rcp-product-card:hover {
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -4px rgba(15, 23, 42, .1);
}

.single-product .rcp-product-card img {
  aspect-ratio: 1;
}

.single-product .rcp-works {
  background: #f8fafc;
  padding: 64px 0;
}

.single-product .rcp-works-head {
  max-width: 672px;
  margin-bottom: 48px;
}

.single-product .rcp-works-head h2 {
  color: #0f172a;
  font-size: 30px;
  font-weight: 600;
}

.single-product .rcp-works-head p {
  color: #475569;
  font-size: 16px;
}

.single-product .rcp-works-grid {
  gap: 24px;
}

.single-product .rcp-work-card {
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .1);
}

.single-product .rcp-work-card img {
  aspect-ratio: 4 / 3;
}

.single-product .rcp-work-card div {
  padding: 16px;
}

.single-product .rcp-view-projects {
  min-height: 48px;
  min-width: 162px;
  margin-top: 40px;
  background: var(--rcp-figma-orange);
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 720px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 32px, 688px);
  }

  .single-product .rcp-product-hero {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-block: 40px;
  }

  .single-product .rcp-title {
    font-size: 28px;
  }

  .single-product .rcp-price-delivery {
    flex-direction: column;
  }

  .single-product .rcp-delivery {
    text-align: left;
  }
}

@media (max-width: 430px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 24px, 406px);
  }

  .single-product .rcp-img-wrap img {
    padding: 24px;
  }

  .single-product .rcp-thumb {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }

  .single-product .rcp-thumb img {
    height: 56px;
  }

  .single-product .rcp-sw--size,
  .single-product .rcp-sw--label {
    min-width: 56px;
    padding-inline: 16px;
  }

  .single-product .woocommerce-variation-add-to-cart,
  .single-product .rcp-summary form.cart:not(.variations_form),
  .single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }
}

.elementor-kit-12 button,
.elementor-kit-12 input[type="button"],
.elementor-kit-12 input[type="submit"],
.elementor-kit-12 .elementor-button {
  padding: 0;
}

button.rcp-order-notes-toggle {
  background: none;
}

.single-product .rcp-custom-width-toggle span {
  color: #f16931;
}

.rcp-page span.woocommerce-Price-amount.amount,
.rcp-page .woocommerce-Price-currencySymbol {
    display: flex;
    justify-content: center;
    font-weight: 600;
  font-size: 20px !important;
}

.single-product .rcp-order-strip .rcp-shell {
  justify-content: center;
  width: fit-content !important;
}

.single-product .rcp-thumbs {
  justify-content: space-between;
}

.single-product .rcp-summary {
  gap: 10px;
}

.single-product .rcp-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
}

.single-product .rcp-price-sale {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  line-height: 1;
}

.single-product .rcp-price-sale del {
  order: 1;
  color: #8b95a5;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  opacity: 1;
}

.single-product .rcp-price-sale del .amount {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.single-product .rcp-price-sale ins {
  order: 0;
  color: #f16931;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.single-product .rcp-price-sale ins .amount {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

@media (min-width: 920px) {
  .single-product .rcp-price-delivery .rcp-price span.rcp-price-sale ins span.woocommerce-Price-amount.amount {
    font-size: 40px !important;
  }
}

.single-product .rcp-price-sale > .amount {
  color: #f16931;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.single-product .rcp-piece {
  flex: 0 0 auto;
  align-self: baseline;
}

.single-product .rcp-bulk-pricing {
  grid-template-columns: repeat(4, max-content);
  gap: 8px;
}

.single-product .rcp-bulk-pricing div {
  width: auto;
  min-width: 94px;
  min-height: 74px;
  padding: 10px 16px;
}

.single-product .rcp-bulk-pricing strong {
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.1;
}

.single-product .rcp-bulk-pricing span,
.single-product .rcp-bulk-pricing em {
  white-space: nowrap;
}

/* Figma SVG export alignment layer. Source: Product page (Table cloth style).svg/css. */
.single-product .rcp-benefit-inner,
.single-product .rcp-order-strip .rcp-shell,
.single-product .rcp-figma-product .rcp-shell {
  width: min(100% - 32px, 1280px);
  max-width: 1280px;
}

.single-product .rcp-product-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  justify-content: stretch;
  gap: 48px;
  padding: 48px 0;
}

.single-product .rcp-gallery,
.single-product .rcp-summary {
  width: 100%;
  max-width: none;
}

.single-product .rcp-img-wrap {
  aspect-ratio: 550 / 412.5;
  border-radius: 16px;
}

.single-product .rcp-img-wrap img {
  padding: 42px 56px;
}

.single-product .rcp-thumbs {
  grid-template-columns: 28px minmax(0, 478px) 28px;
  gap: 8px;
}

.single-product .rcp-thumb-track {
  gap: 8px;
}

.single-product .rcp-thumb {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 14px;
}

.single-product .rcp-thumb img {
  width: 68.8px;
  height: 68.8px;
  border-radius: 11px;
}

.single-product .rcp-title {
  width: 100%;
  max-width: 550px;
  margin: 0 0 8px;
  font-size: 30px;
  line-height: 36px;
}

.single-product .rcp-rating-row {
  min-height: 28px;
  gap: 16px;
  padding-top: 0;
}

.single-product .rcp-price-delivery {
  min-height: 64px;
  padding-top: 0;
}

.single-product .rcp-price-sale,
.single-product .rcp-price-sale .amount {
  font-size: 36px;
  line-height: 40px;
}

.single-product .rcp-bulk-pricing {
  grid-template-columns: repeat(4, max-content);
  gap: 8px;
}

.single-product .rcp-bulk-pricing div {
  width: auto;
  min-width: 94px;
  min-height: 74px;
  padding: 10px 16px;
  border-radius: 10px;
}

.single-product .rcp-bulk-pricing strong {
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.1;
}

.single-product .rcp-bulk-pricing span,
.single-product .rcp-bulk-pricing em {
  white-space: nowrap;
}

.single-product .rcp-summary form.cart,
.single-product .rcp-wc-variation-options {
  gap: 12px;
}

.single-product .rcp-attr-group,
.single-product .rcp-addon-attr-group {
  gap: 12px;
  padding-top: 0;
}

.single-product .rcp-attr-head,
.single-product .rcp-field-label {
  min-height: 20px;
}

.single-product .rcp-swatches {
  gap: 10px;
}

.single-product .rcp-sw--size,
.single-product .rcp-sw--label {
  min-width: 70px;
  min-height: 51px;
  height: auto;
  padding: 5px 13px;
  text-align: center;
  text-transform: uppercase;
  border-width: 1.6px;
  border-radius: 10px;
  line-height: 24px;
}

.single-product .rcp-sw--size:not(.is-selected):hover,
.single-product .rcp-sw--label:not(.is-selected):hover,
.single-product .rcp-sw--size:not(.is-selected):hover small,
.single-product .rcp-sw--label:not(.is-selected):hover small {
  color: #fff;
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 112px;
  min-height: 51px;
  height: 51px;
  padding-inline: 18px;
  border-radius: 10px;
}

.single-product .rcp-sw--color {
  width: 40px;
  height: 40px;
  border-width: 1.6px;
}

.single-product .rcp-sw--color.rcp-sw--custom,
.single-product .rcp-sw--color.rcp-sw--custom.is-selected {
  border-style: dashed;
  border-color: #90a1b9;
  background: #fff;
  color: #90a1b9;
}

.single-product .rcp-custom-fields {
  gap: 10px;
}

.single-product .rcp-custom-fields input {
  min-height: 42px;
  border-radius: 10px;
}

.single-product .rcp-variation-select,
.single-product .rcp-native-select {
  height: 43px;
  border-radius: 10px;
}

.single-product .rcp-variation-select {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("https://rexcustomprints.com/wp-content/uploads/2026/07/down-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 14px;
  padding-right: 44px;
}

.single-product .rcp-upcharge-note {
  min-height: 24px;
  border-radius: 4px;
}

.single-product .rcp-addon-attr-group[data-display-type="image"] .rcp-swatches,
.single-product .rcp-swatches:has(.rcp-sw--image) {
  gap: 12px;
}

.single-product .rcp-sw--image {
  width: 100px;
  min-height: 134px;
}

.single-product .rcp-sw--image img {
  width: 100px;
  height: 76px;
  border-width: 1.6px;
  border-radius: 14px;
}

.single-product .woocommerce-variation-add-to-cart,
.single-product .rcp-summary form.cart:not(.variations_form),
.single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
  grid-template-columns: 267px 267px;
  column-gap: 16px;
  row-gap: 12px;
}

.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .rcp-summary form.cart .quantity {
  grid-template-columns: 36px 56px 36px;
  grid-template-rows: 20px 36px;
  gap: 8px;
  width: 267px;
}

.single-product .rcp-artwork-toggle-row,
.single-product .rcp-upload-section {
  width: 267px;
}

.single-product .rcp-artwork-toggle,
.single-product .rcp-file-wrap {
  min-height: 43px;
  border-width: 1.6px;
  border-radius: 10px;
}

.single-product .woocommerce-variation-add-to-cart > .rcp-price-box,
.single-product .rcp-summary form.cart > .rcp-price-box {
  min-height: 90px;
  padding: 12px 16px;
  border-radius: 14px;
}

.single-product .rcp-price-box-total strong,
.single-product .woocommerce-variation-add-to-cart > .rcp-price-box .rcp-price-box-total strong,
.single-product .rcp-summary form.cart > .rcp-price-box .rcp-price-box-total strong {
  font-size: 24px;
  line-height: 32px;
}

.single-product .rcp-order-notes-toggle {
  min-height: 20px;
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now),
.single-product .rcp-sticky-buy-now {
  min-height: 52px;
  border-radius: 10px;
}

.single-product .rcp-sticky-total-bar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  min-height: 54px;
  border-radius: 14px;
}

.single-product .rcp-sticky-total-box,
.single-product .rcp-sticky-buy-now {
  min-height: 52px;
  border-radius: 10px;
}

.single-product .rcp-product-tabs {
  max-width: 1280px;
  padding-top: 48px;
}

.single-product .rcp-tab-nav {
  gap: 32px;
  min-height: 50px;
}

.single-product .rcp-related {
  max-width: 1280px;
  padding: 48px 0;
}

.single-product .rcp-related-grid,
.single-product .rcp-works-grid {
  gap: 24px;
}

.single-product .rcp-works .rcp-shell {
  max-width: 1280px;
}

.single-product .rcp-works {
  padding: 64px 0;
}

.single-product .rcp-works-head {
  margin-bottom: 48px;
}

.single-product .rcp-swatches .rcp-sw--custom-full {
  min-width: 60px;
}

.single-product .rcp-custom-dimension--fixed {
  background: #f8fafc;
  color: #64748b;
  cursor: not-allowed;
}

.single-product .rcp-attr-group--dropdown .rcp-attr-chosen {
  display: none;
}

.single-product .rcp-attr-group[data-parent-attr][hidden] {
  display: none !important;
}

.single-product .rcp-qty-btn:hover {
  border-color: #cbd5e1;
  background: #fff;
  color: #334155;
}

.single-product .rcp-artwork-toggle:hover {
  border-color: #cbd5e1;
  background: #fff;
  color: #334155;
}

.single-product .rcp-artwork-toggle[aria-expanded="true"]:hover {
  border-color: var(--rcp-figma-orange);
  background: rgba(241, 105, 49, .1);
  color: var(--rcp-figma-orange);
}

.single-product .rcp-order-notes-toggle:hover {
  background: transparent;
  color: var(--rcp-figma-muted);
}

.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.rcp-buy-now):hover,
.single-product .rcp-summary form.cart .single_add_to_cart_button:not(.rcp-buy-now):hover {
  background: var(--rcp-figma-orange);
}

.single-product .woocommerce-variation-add-to-cart .rcp-buy-now:hover,
.single-product .rcp-summary form.cart .rcp-buy-now:hover,
.single-product .rcp-sticky-buy-now:hover {
  background: var(--rcp-figma-navy);
  color: #fff;
}

@media (min-width: 981px) {
  .single-product .rcp-gallery {
    position: sticky;
    top: 110px;
  }

  .single-product .rcp-attr-group--dropdown {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: center;
    gap: 18px 24px;
  }

  .single-product .rcp-attr-group--dropdown .rcp-attr-name {
    color: #020617;
    font-size: 16px;
    line-height: 20px;
  }

  .single-product .rcp-attr-group--dropdown .rcp-variation-select {
    min-height: 43px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 400;
    padding: 0 44px 0 20px;
  }

  .single-product .rcp-attr-group--dropdown .rcp-upcharge-note,
  .single-product .rcp-attr-group--dropdown .rcp-swatches {
    grid-column: 2;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 32px, 1280px);
  }

  .single-product .rcp-product-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 980px) {
  .single-product .rcp-product-hero {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .single-product .rcp-gallery,
  .single-product .rcp-summary {
    max-width: 550px;
  }
}

@media (max-width: 720px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 32px, 688px);
  }

  .single-product .woocommerce-variation-add-to-cart,
  .single-product .rcp-summary form.cart:not(.variations_form),
  .single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 430px) {
  .single-product .rcp-benefit-inner,
  .single-product .rcp-order-strip .rcp-shell,
  .single-product .rcp-figma-product .rcp-shell {
    width: min(100% - 24px, 406px);
  }

  .single-product .rcp-img-wrap img {
    padding: 24px;
  }

  .single-product .woocommerce-variation-add-to-cart,
  .single-product .rcp-summary form.cart:not(.variations_form),
  .single-product .rcp-wc-variation-form .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }

  .single-product .rcp-sticky-total-bar {
    grid-template-columns: 1fr;
  }
}

.single-product .rcp-order-notes-toggle,
.single-product .rcp-order-notes-toggle:hover,
.single-product .rcp-order-notes-toggle:focus {
  background: transparent;
  color: var(--rcp-figma-orange);
}

.single-product .rcp-img-wrap img {
  padding: 0;
}

.single-product .rcp-img-wrap:focus-visible {
  outline: 2px solid var(--rcp-figma-orange);
  outline-offset: 3px;
}

.rcp-cart-quantity .quantity button.rcp-qty-btn {
  width: auto;
  height: auto;
  border-radius: 0;
}

.rcp-cart-quantity .quantity button.rcp-qty-btn:focus {
  background: transparent;
}

.rcp-cart-quantity .quantity button.rcp-qty-btn:hover {
  background: #fb642d;
  color: #fff;
}

.rcp-wishlist-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  border: 1px solid #ccd8e7;
  border-radius: 7px;
  background: #fff;
  color: #405673;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 7px 12px;
}

.rcp-wishlist-button > span[aria-hidden="true"] {
  color: #fb642d;
  font-size: 20px;
  line-height: 1;
}

.rcp-wishlist-button:hover,
.rcp-wishlist-button:focus,
.rcp-wishlist-button.is-active {
  border-color: #fb642d;
  background: #fff6f1;
  color: #fb642d;
}

.rcp-commerce-page .rcp-wishlist-button {
  padding: 7px 12px;
}

.rcp-commerce-page .rcp-wishlist-button:hover,
.rcp-commerce-page .rcp-wishlist-button:focus,
.rcp-commerce-page .rcp-wishlist-button.is-active {
  border-color: #fb642d;
  background: #fff6f1;
  color: #fb642d;
}

.rcp-wishlist-button:disabled {
  cursor: wait;
  opacity: .55;
}

.single-product .woocommerce-variation-add-to-cart .rcp-wishlist-button--product,
.single-product .rcp-summary form.cart .rcp-wishlist-button--product {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 40px;
  background: #fff;
  color: #26365a;
  font-size: 13px;
}

.single-product .woocommerce-variation-add-to-cart .rcp-wishlist-button--product:hover,
.single-product .woocommerce-variation-add-to-cart .rcp-wishlist-button--product:focus,
.single-product .woocommerce-variation-add-to-cart .rcp-wishlist-button--product.is-active,
.single-product .rcp-summary form.cart .rcp-wishlist-button--product:hover,
.single-product .rcp-summary form.cart .rcp-wishlist-button--product:focus,
.single-product .rcp-summary form.cart .rcp-wishlist-button--product.is-active {
  border-color: #fb642d;
  background: #fff6f1;
  color: #fb642d;
}

.rcp-cart-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  margin-top: 12px;
}

.rcp-cart-item-actions .rcp-wishlist-button,
.rcp-cart-item-actions .rcp-remove {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  padding: 4px 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.rcp-cart-item-actions .rcp-wishlist-button {
  border: 0;
  background: transparent;
  color: #405673;
}

.rcp-cart-item-actions .rcp-wishlist-button .rcp-wishlist-label {
  display: inline;
  color: inherit;
}

.rcp-cart-item-actions .rcp-wishlist-button:hover,
.rcp-cart-item-actions .rcp-wishlist-button:focus,
.rcp-cart-item-actions .rcp-wishlist-button.is-active {
  background: transparent;
}

.rcp-cart-item-actions .rcp-remove {
  color: #dc2626;
  text-decoration: none;
}

.rcp-cart-item-actions .rcp-remove:hover,
.rcp-cart-item-actions .rcp-remove:focus {
  color: #b91c1c;
  text-decoration: underline;
}

.rcp-cart-item.is-removing {
  opacity: .55;
}

.rcp-cart-empty-state {
  min-height: 260px;
  place-content: center;
  text-align: center;
}

.rcp-wishlist-view .rcp-section-head {
  align-items: center;
  margin-bottom: 18px;
}

.rcp-wishlist-view .rcp-section-head h1 {
  margin: 0;
  color: #17233d;
  font-size: 26px;
}

.rcp-wishlist-view .rcp-section-head span {
  color: #70849f;
  font-weight: 600;
}

.rcp-wishlist-list {
  display: grid;
}

.rcp-wishlist-item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid #e4eaf2;
  padding: 18px 0;
}

.rcp-wishlist-item.is-configured {
  align-items: start;
}

.rcp-wishlist-thumb,
.rcp-wishlist-thumb img {
  display: block;
  width: 76px;
  height: 76px;
  border-radius: 8px;
  object-fit: cover;
}

.rcp-wishlist-item h2 {
  margin: 0 0 6px;
  font-size: 16px;
}

.rcp-wishlist-item h2 a {
  color: #17233d;
  text-decoration: none;
}

.rcp-wishlist-item strong {
  color: #fb642d;
}

.rcp-wishlist-configuration {
  display: grid;
  gap: 4px;
  margin: 8px 0 0;
  color: #536987;
  font-size: 13px;
}

.rcp-wishlist-configuration > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.rcp-wishlist-configuration dt {
  color: #26365a;
  font-weight: 600;
}

.rcp-wishlist-configuration dd {
  margin: 0;
}

.rcp-wishlist-saved-total {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 10px 0 0;
  color: #536987;
  font-size: 13px;
}

.rcp-wishlist-actions {
  display: grid;
  gap: 8px;
  min-width: 142px;
}

.rcp-wishlist-configure {
  min-height: 38px;
  border: 0;
  border-radius: 7px;
  background: #fb642d;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 38px;
  padding: 0 16px;
  text-decoration: none;
}

.rcp-wishlist-configure:disabled {
  cursor: wait;
  opacity: .65;
}

.rcp-wishlist-empty {
  padding: 50px 20px;
  text-align: center;
}

.rcp-ajax-notice {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 100000;
  max-width: min(360px, calc(100vw - 32px));
  border-radius: 7px;
  background: #222458;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .2);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  padding: 13px 18px;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .18s ease, transform .18s ease;
}

.rcp-ajax-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rcp-ajax-notice.is-error {
  background: #b42318;
}

.single-product .rcp-product-notices:empty {
  display: none;
}

.single-product .rcp-product-notices .woocommerce-message,
.single-product .rcp-product-notices .woocommerce-info,
.single-product .rcp-product-notices .woocommerce-error {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  margin: 0 0 12px;
  border: 1px solid #b7e2c5;
  border-radius: 7px;
  background: #effaf3;
  color: #176b36;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
  padding: 10px 12px;
}

.single-product .rcp-product-notices .woocommerce-error {
  border-color: #f1b7b3;
  background: #fff2f1;
  color: #a1261d;
}

.single-product .rcp-product-notices .woocommerce-message,
.single-product .rcp-product-notices .woocommerce-info,
.single-product .rcp-product-notices .woocommerce-error {
  position: relative;
  padding-left: 42px !important;
}

.single-product .rcp-product-notices .woocommerce-message::before,
.single-product .rcp-product-notices .woocommerce-info::before,
.single-product .rcp-product-notices .woocommerce-error::before {
  position: absolute;
  top: 50% !important;
  left: 14px !important;
  margin: 0 !important;
  transform: translateY(-50%);
}

.single-product .rcp-product-notices .button {
  order: 2;
  min-height: 32px;
  border: 0;
  border-radius: 6px;
  background: #176b36;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 32px;
  padding: 0 12px;
  text-decoration: none;
}

.single-product .rcp-product-notices .button:hover,
.single-product .rcp-product-notices .button:focus {
  background: #11572b;
  color: #fff;
}

.single-product .rcp-delivery strong {
  color: #15803d;
  white-space: nowrap;
}

.single-product .rcp-delivery {
  display: grid;
}

/* Shop and product archive pages */
.rcp-shop-page {
  background: #fff;
  color: #17233d;
  font-family: inherit;
}

.rcp-shop-page *,
.rcp-shop-page *::before,
.rcp-shop-page *::after {
  box-sizing: border-box;
}

.rcp-shop-shell {
  width: min(100% - 40px, 1280px);
  margin-inline: auto;
}

.rcp-shop-hero {
  padding: 54px 0 58px;
  border-bottom: 1px solid #dce3ec;
  background-color: #121a55;
  background-image: url("https://rexcustomprints.com/wp-content/uploads/2026/07/banners.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: auto;
}

.rcp-shop-breadcrumb {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 10px;
  color: #fff;
  font-size: 13px;
}

.rcp-shop-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.rcp-shop-breadcrumb strong {
  color: #fff;
}

.rcp-shop-hero h1 {
  margin: 0 0 3px;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.rcp-shop-hero p {
  margin: 0;
  color: #fff;
  font-size: 13px;
}

.rcp-shop-layout {
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding-top: 28px;
  padding-bottom: 62px;
}

.rcp-shop-filters {
  overflow: hidden;
  border: 1px solid #dce4ee;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .04);
}

.rcp-shop-filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 20px 10px;
}

.rcp-shop-filter-heading h2 {
  margin: 0;
  color: #17233d;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.rcp-shop-filter-heading a {
  color: #fb642d;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.rcp-shop-filter-group {
  margin: 0;
  padding: 18px 20px;
  border: 0;
  border-bottom: 1px solid #e6ebf2;
}

.rcp-shop-filter-group legend {
  display: block;
  width: 100%;
  margin: 0 0 13px;
  padding: 0;
  color: #31415c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}

.rcp-shop-check {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-height: 28px;
  color: #405673;
  font-size: 13px;
  cursor: pointer;
}

.rcp-shop-check input,
.rcp-shop-rating-options input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #fb642d;
}

.rcp-shop-check small {
  color: #91a5c0;
  font-size: 11px;
}

.rcp-shop-color-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rcp-shop-color-options label {
  position: relative;
  display: block;
  width: 34px;
  height: 34px;
  cursor: pointer;
}

.rcp-shop-color-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.rcp-shop-color-options span {
  display: grid;
  width: 34px;
  height: 34px;
  border: 2px solid #cbd5e1;
  border-radius: 50%;
  background: var(--rcp-shop-swatch-color, #d1d5db);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  place-items: center;
}

.rcp-shop-color-options input:checked + span {
  border-color: #f16931;
  box-shadow: 0 0 0 2px rgba(241, 105, 49, .28), inset 0 0 0 1px rgba(0, 0, 0, .08);
}

.rcp-shop-color-options input:checked + span::after {
  content: "\2713";
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .75);
}

.rcp-shop-color-options input:focus-visible + span {
  outline: 2px solid #1f2a67;
  outline-offset: 2px;
}

.rcp-shop-size-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rcp-shop-size-options label {
  cursor: pointer;
}

.rcp-shop-size-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.rcp-shop-size-options span {
  display: grid;
  min-width: 38px;
  min-height: 32px;
  padding: 0 8px;
  border: 1px solid #ccd8e7;
  border-radius: 8px;
  color: #405673;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  place-items: center;
}

.rcp-shop-size-options input:checked + span {
  border-color: #fb642d;
  background: #fff1eb;
  color: #fb642d;
}

.rcp-shop-price-filter > div:first-of-type,
.rcp-shop-price-limits {
  display: flex;
  justify-content: space-between;
  color: #7287a4;
  font-size: 12px;
}

.rcp-shop-price-filter strong {
  color: #fb642d;
  font-weight: 600;
}

.rcp-shop-price-filter .woocommerce-Price-amount,
.rcp-shop-price-filter .woocommerce-Price-currencySymbol {
  display: inline;
  font-size: inherit !important;
  font-weight: inherit;
}

.rcp-shop-price-range {
  width: 100%;
  height: 5px;
  margin: 15px 0 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  accent-color: #fb642d;
}

.rcp-shop-price-limits {
  color: #91a5c0;
  font-size: 10px;
}

.rcp-shop-rating-options {
  display: grid;
  gap: 8px;
}

.rcp-shop-rating-options label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #7287a4;
  font-size: 11px;
  cursor: pointer;
}

.rcp-filter-stars {
  color: #ffb800;
  font-size: 14px;
  letter-spacing: 0;
}

.rcp-shop-filter-submit {
  width: calc(100% - 40px);
  min-height: 40px;
  margin: 16px 20px 20px;
  border: 0;
  border-radius: 8px;
  background: #fb642d;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.rcp-shop-filters.has-auto-submit .rcp-shop-filter-submit {
  display: none;
}

.rcp-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  min-height: 39px;
  margin-bottom: 15px;
  color: #7890ad;
  font-size: 12px;
}

.rcp-shop-toolbar .woocommerce-ordering {
  float: none;
  margin: 0;
}

.rcp-shop-toolbar .woocommerce-ordering select {
  width: 142px;
  height: 38px;
  padding: 0 34px 0 12px;
  border: 1px solid #ccd8e7;
  border-radius: 8px;
  background-color: #fff;
  color: #7287a4;
  font-family: inherit;
  font-size: 12px;
}

.rcp-shop-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rcp-shop-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .05);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  flex-direction: column;
}

.rcp-shop-card:hover {
  border-color: #c7d4e4;
  box-shadow: 0 9px 24px rgba(15, 23, 42, .10);
  transform: translateY(0px);
}

.rcp-shop-card-link {
  display: flex;
  min-height: 0;
  color: inherit;
  text-decoration: none;
  flex: 1 1 auto;
  flex-direction: column;
}

.rcp-shop-card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #eef1f4;
}

.rcp-shop-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform .25s ease;
}

.rcp-shop-card:hover .rcp-shop-card-image img {
  transform: scale(1.025);
}

.rcp-shop-badge {
  position: absolute;
  z-index: 1;
  top: 11px;
  left: 11px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fb642d;
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
}

.rcp-product-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  border-radius: 999px;
  background: #fb642d;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.rcp-shop-card-body {
  display: flex;
  min-height: unset;
  padding: 13px 14px 15px;
  flex: 1 1 auto;
  flex-direction: column;
}

.rcp-shop-card-category {
  margin-bottom: 5px;
  color: #fb642d;
  font-size: 9px;
  font-weight: 600;
}

.rcp-shop-card h2 {
  min-height: unset;
  margin: 0 0 5px;
  color: #17233d;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.rcp-shop-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 17px;
  margin-bottom: 8px;
}

.rcp-shop-card-stars {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: #d7dee8;
  font-family: Arial, sans-serif !important;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}

.rcp-shop-card-stars-base,
.rcp-shop-card-stars-fill {
  display: block;
}

.rcp-shop-card-stars-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--rcp-rating-width, 0%);
  overflow: hidden;
  color: #ffb800;
  white-space: nowrap;
}

.rcp-shop-card-rating small {
  color: #91a5c0;
  font-size: 9px;
}

.rcp-shop-card-price {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 0;
}

.rcp-shop-card-price-values {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
}

.rcp-shop-card-price-values ins,
.rcp-shop-card-price-values del {
  display: inline-flex;
  align-items: baseline;
  background: none;
  line-height: 1.2;
}

.rcp-shop-card-price-values ins {
  color: #fb642d;
  text-decoration: none;
}

.rcp-shop-card-price-values del,
.rcp-shop-card-price-values del .woocommerce-Price-amount,
.rcp-shop-card-price-values del .woocommerce-Price-currencySymbol {
  color: #8794a8;
  font-size: 13px !important;
  font-weight: 500;
}

.rcp-shop-card-price strong,
.rcp-shop-card-price .woocommerce-Price-amount,
.rcp-shop-card-price .woocommerce-Price-currencySymbol {
  display: inline;
  color: #fb642d;
  font-size: 18px !important;
  font-weight: 600;
}

.rcp-shop-card-price > span {
  color: #91a5c0;
  font-size: 9px;
}

.rcp-shop-card-actions {
  padding: 0 14px 15px;
}

.rcp-shop-buy-now {
  display: flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fb642d;
  border-radius: 6px;
  background: #fb642d;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}

.rcp-shop-buy-now:hover,
.rcp-shop-buy-now:focus {
  border-color: #e95320;
  background: #e95320;
  color: #fff;
}

.rcp-shop-results .woocommerce-pagination {
  margin-top: 28px;
}

.rcp-shop-results {
  position: relative;
  transition: opacity .18s ease;
}

.rcp-shop-page.is-loading .rcp-shop-results {
  min-height: 240px;
  opacity: .45;
  pointer-events: none;
}

.rcp-shop-page.is-loading .rcp-shop-results::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 110px;
  left: 50%;
  width: 34px;
  height: 34px;
  border: 3px solid #d8e0eb;
  border-top-color: #fb642d;
  border-radius: 50%;
  animation: rcp-shop-spin .7s linear infinite;
}

@keyframes rcp-shop-spin {
  to {
    transform: rotate(360deg);
  }
}

.rcp-shop-results .woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
}

.rcp-shop-results .woocommerce-pagination ul.page-numbers li {
  border: 0;
}

.rcp-shop-results .woocommerce-pagination .page-numbers li a,
.rcp-shop-results .woocommerce-pagination .page-numbers li span {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #ccd8e7;
  border-radius: 7px;
  background: #fff;
  color: #405673;
  font-family: inherit;
  font-size: 12px;
  place-items: center;
}

.rcp-shop-results .woocommerce-pagination .page-numbers li span.current {
  border-color: #252660;
  background: #252660;
  color: #fff;
}

.rcp-shop-empty {
  padding: 70px 24px;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  text-align: center;
}

.rcp-shop-empty h2 {
  margin: 0 0 8px;
  color: #252660;
  font-size: 22px;
}

.rcp-shop-empty p {
  color: #7287a4;
}

.rcp-shop-empty a {
  color: #fb642d;
  font-weight: 600;
}

@media (min-width: 981px) {
  .rcp-shop-filters {
    position: sticky;
    top: 110px;
  }
}

@media (max-width: 980px) {
  .rcp-shop-layout {
    grid-template-columns: 1fr;
  }

  .rcp-shop-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rcp-shop-filter-heading {
    grid-column: 1 / -1;
  }

  .rcp-shop-filter-group {
    border-top: 1px solid #e6ebf2;
  }

  .rcp-shop-filter-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .rcp-shop-shell {
    width: min(100% - 24px, 1120px);
  }

  .rcp-shop-hero {
    padding-block: 22px;
  }

  .rcp-shop-layout {
    gap: 20px;
    padding-top: 20px;
  }

  .rcp-shop-filters,
  .rcp-shop-grid {
    grid-template-columns: 1fr;
  }

  .rcp-shop-filter-group {
    grid-column: 1;
  }

  .rcp-shop-grid {
    gap: 14px;
  }

  .rcp-shop-toolbar {
    justify-content: space-between;
  }
}

@media (max-width: 720px) {
  .rcp-wishlist-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .rcp-wishlist-thumb,
  .rcp-wishlist-thumb img {
    width: 64px;
    height: 64px;
  }

  .rcp-wishlist-configure,
  .rcp-wishlist-item .rcp-wishlist-button,
  .rcp-wishlist-actions {
    grid-column: 1 / -1;
    width: 100%;
    text-align: center;
  }

  .rcp-ajax-notice {
    right: 16px;
    bottom: 16px;
  }
}

/* Keep related-product prices compact and readable on small screens. */
.single-product .rcp-product-card > em {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: auto;
}

.single-product .rcp-product-card > em del,
.single-product .rcp-product-card > em ins {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

.single-product .rcp-product-card > em del,
.single-product .rcp-product-card > em del .woocommerce-Price-amount.amount,
.single-product .rcp-product-card > em del .woocommerce-Price-currencySymbol {
  color: #94a3b8 !important;
  text-decoration-color: #94a3b8;
}

.single-product .rcp-product-card > em ins {
  text-decoration: none;
}

.single-product .rcp-product-card > em .woocommerce-Price-amount.amount,
.single-product .rcp-product-card > em .woocommerce-Price-currencySymbol {
  display: inline !important;
  margin: 0;
  font-size: 14px !important;
  line-height: 1.2;
}

@media (max-width: 480px) {
  .single-product .rcp-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .single-product .rcp-product-card > strong,
  .single-product .rcp-product-card > span,
  .single-product .rcp-product-card > em {
    margin-inline: 10px;
  }

  .single-product .rcp-product-card > strong {
    min-height: 46px;
    font-size: 12px;
  }

  .single-product .rcp-product-card > em {
    gap: 3px 6px;
  }

  .single-product .rcp-product-card > em del .woocommerce-Price-amount.amount,
  .single-product .rcp-product-card > em del .woocommerce-Price-currencySymbol {
    font-size: 12px !important;
  }

  .single-product .rcp-product-card > em ins .woocommerce-Price-amount.amount,
  .single-product .rcp-product-card > em ins .woocommerce-Price-currencySymbol {
    font-size: 13px !important;
  }
}
:focus-visible {
	outline: 0px solid transparent !important;
}
