/** Shopify CDN: Minification failed

Line 329:50 Unexpected "{"
Line 329:62 Expected ":"
Line 329:66 Unexpected "{"

**/
/* =============================================================================
   STREETSTICKERS — EGGSHELL CONFIGURATOR  (final v3)
   Font sizes use clamp(min, vw-preferred, max) so they scale with viewport.
   Root font assumed 16px (standard Dawn). 1vw ≈ 16px at 1600px viewport.
   ========================================================================== */

.ss-config-wrap {
  --ss-black:       #0a0a0a;
  --ss-ink:         #1a1a1a;
  --ss-paper:       #f5f1e8;
  --ss-paper-warm:  #efe8d6;
  --ss-white:       #ffffff;
  --ss-acid:        #e6ff00;
  --ss-acid-deep:   #c8e000;
  --ss-spray:       #ff2e63;
  --ss-tape:        #ffd84a;
  --ss-concrete:    #8a8780;
  --ss-display:     'Bungee', 'Arial Black', sans-serif;
  --ss-body:        'Space Grotesk', system-ui, sans-serif;
  --ss-hand:        'Permanent Marker', cursive;
  --ss-mono:        'JetBrains Mono', ui-monospace, monospace;

  /* Full-width override of Dawn page-width */
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================================
   TAPE STRIP
   ========================================================================== */
.ss-tape-strip {
  background: var(--ss-acid);
  color: var(--ss-black);
  border-bottom: 3px solid var(--ss-black);
  border-top: 3px solid var(--ss-black);
  padding: 0.6rem 0;
  font-family: var(--ss-display);
  font-size: clamp(0.9rem, 0.85vw, 1.1rem);
  letter-spacing: 0.06em;
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 0;
}
.ss-tape-strip span {
  display: inline-block;
  padding-left: 100%;
  animation: ss-marquee 32s linear infinite;
}
@keyframes ss-marquee { to { transform: translateX(-100%); } }

/* ============================================================================
   PRODUCT LAYOUT  — 42 / 58 split, gallery narrower than config
   ========================================================================== */
.ss-product {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 3vw, 4rem);
  align-items: start;
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(2rem, 3vw, 3.5rem) clamp(1.5rem, 3vw, 3rem);
}
@media (max-width: 980px) {
  .ss-product { grid-template-columns: 1fr; padding: 1.5rem; }
}

/* ============================================================================
   GALLERY
   ========================================================================== */
.ss-gallery { position: sticky; top: 1rem; align-self: start; }
@media (max-width: 980px) { .ss-gallery { position: static; } }

.ss-gallery__main {
  position: relative;
  aspect-ratio: 1 / 1;           /* square — not 1/1.05 */
  max-height: min(50vh, 520px);  /* never taller than 520px */
  background: var(--ss-ink);
  border: 3px solid var(--ss-black);
  overflow: hidden;
  display: grid;
  place-items: center;
}
.ss-gallery__halftone {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(230,255,0,0.5) 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  opacity: 0.15;
  z-index: 1;
}
.ss-gallery__badge {
  position: absolute;
  font-family: var(--ss-display);
  font-size: clamp(0.8rem, 0.75vw, 0.95rem);
  letter-spacing: 0.07em;
  padding: 0.4rem 0.7rem;
  z-index: 10;
  border: 2px solid var(--ss-black);
}
.ss-gallery__badge--rip {
  top: 1rem; left: 1rem;
  background: var(--ss-spray); color: var(--ss-white);
  transform: rotate(-6deg);
}
.ss-gallery__badge--paper {
  bottom: 1rem; left: 1rem;
  background: var(--ss-acid); color: var(--ss-black);
  transform: rotate(3deg);
}

/* Shape images */
.ss-gallery__shape-imgs { position: absolute; inset: 0; z-index: 2; }
.ss-gallery__shape-img  { position: absolute; inset: 0; }
.ss-gallery__shape-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.ss-gallery__shape-img[hidden] { display: none; }
.ss-gallery__no-img {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.6rem;
  font-family: var(--ss-display);
  font-size: clamp(1.5rem, 2vw, 2.5rem);
  color: rgba(230,255,0,0.3); text-align: center; padding: 2rem;
}
.ss-gallery__no-img small {
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.7vw, 0.95rem);
  color: rgba(230,255,0,0.2); display: block; margin-top: 0.4rem;
}

/* USP Grid below gallery */
.ss-gallery__usps {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0.5rem; margin-top: 0.6rem;
}
.ss-gallery__usp {
  display: flex; align-items: flex-start; gap: 0.5rem;
  background: var(--ss-white); border: 2px solid var(--ss-black);
  padding: 0.7rem 0.8rem;
}
.ss-gallery__usp-icon { font-size: clamp(1.1rem, 1.3vw, 1.5rem); flex-shrink: 0; line-height: 1; }
.ss-gallery__usp strong {
  display: block; font-family: var(--ss-display);
  font-size: clamp(0.88rem, 1.0vw, 1.15rem);
  color: var(--ss-black); margin-bottom: 0.15rem;
}
.ss-gallery__usp span {
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.88vw, 1rem);
  color: var(--ss-concrete);
}
@media (max-width: 980px) { .ss-gallery__usps { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .ss-gallery__usps { grid-template-columns: 1fr 1fr; } }

/* ============================================================================
   CONFIG COLUMN  (right side)
   ========================================================================== */
.ss-config { display: flex; flex-direction: column; gap: clamp(1.2rem, 1.5vw, 2rem); }

.ss-config__breadcrumb {
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.7vw, 0.9rem);
  letter-spacing: 0.06em;
  display: flex; gap: 0.4rem; flex-wrap: wrap;
  text-transform: uppercase; color: var(--ss-ink);
}
.ss-config__breadcrumb-active { color: var(--ss-spray); font-weight: 700; }
.ss-config__breadcrumb a { color: inherit; text-decoration: none; }

.ss-config__title {
  font-family: var(--ss-display);
  font-size: clamp(2.2rem, 4.5vw, 5rem);
  line-height: 0.9;
  letter-spacing: -0.01em;
  margin: 0.4rem 0 0.5rem;
  color: var(--ss-black);
}
.ss-config__title-line { display: block; }
.ss-config__title-line--accent {
  background: linear-gradient(180deg, transparent 60%, var(--ss-acid) 60%, var(--ss-acid) 95%, transparent 95%);
  display: inline; padding: 0 0.2em; margin-left: -0.2em;
}
.ss-config__sub {
  font-size: clamp(1.05rem, 1.1vw, 1.3rem);
  color: var(--ss-ink); max-width: 60ch; line-height: 1.55;
  font-family: var(--ss-body);
}
.ss-config__sub-mark { font-family: var(--ss-hand); color: var(--ss-spray); font-size: 1.2em; }

/* ============================================================================
   STEP CARDS
   ========================================================================== */
.ss-step {
  background: var(--ss-white);
  border: 2px solid var(--ss-black);
  padding: clamp(1.2rem, 1.8vw, 2rem);
  position: relative;
}
.ss-step::before { display: none; }  /* no tape pieces */

.ss-step__legend {
  display: flex; align-items: center; gap: 0.6rem;
  font-family: var(--ss-display);
  margin-bottom: clamp(0.9rem, 1.2vw, 1.4rem);
  flex-wrap: wrap;
  border-bottom: 2px solid var(--ss-black);
  padding-bottom: 0.7rem;
}
.ss-step__num {
  background: var(--ss-black); color: var(--ss-acid);
  padding: 0.25rem 0.6rem;
  font-size: clamp(1rem, 1vw, 1.2rem);
  font-family: var(--ss-display);
}
.ss-step__title {
  font-size: clamp(1.4rem, 1.7vw, 2rem);
  letter-spacing: 0.02em; color: var(--ss-black);
}
.ss-step__hint {
  font-family: var(--ss-mono);
  font-size: clamp(0.85rem, 0.85vw, 1rem);
  color: var(--ss-concrete); letter-spacing: 0.05em;
  margin-left: auto; text-transform: uppercase;
}

/* ============================================================================
   SHAPE PICKER
   ========================================================================== */
.ss-shape-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
.ss-shape {
  background: var(--ss-paper);
  border: 2px solid var(--ss-black);
  padding: clamp(1rem, 1.4vw, 1.6rem) 0.6rem clamp(0.8rem, 1vw, 1.2rem);
  display: flex; flex-direction: column; align-items: center; gap: 0.7rem;
  transition: all 0.15s ease; position: relative; cursor: pointer;
}
.ss-shape:hover { background: var(--ss-paper-warm); transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--ss-black); }
.ss-shape[aria-checked="true"] {
  background: var(--ss-acid);
  transform: translate(-3px,-3px);
  box-shadow: 5px 5px 0 var(--ss-black);
}
.ss-shape[aria-checked="true"]::after {
  content: '✓'; position: absolute; top: 5px; right: 8px;
  font-family: var(--ss-display);
  font-size: clamp(0.8rem, 0.75vw, 0.95rem);
  color: var(--ss-black);
}
.ss-shape__visual {
  width: clamp(40px, 4vw, 60px); height: clamp(40px, 4vw, 60px);
  background: var(--ss-ink); border: 2px solid var(--ss-black);
}
.ss-shape__visual--rectangle { width: clamp(55px, 5.5vw, 80px); height: clamp(35px, 3vw, 45px); }
.ss-shape__visual--round { border-radius: 50%; }
.ss-shape__label {
  font-family: var(--ss-display);
  font-size: clamp(1.1rem, 1.25vw, 1.5rem);
  color: var(--ss-black);
}

/* ============================================================================
   SIZE PICKER
   ========================================================================== */
.ss-size-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; }
@media (max-width: 480px) { .ss-size-grid { grid-template-columns: repeat(2, 1fr); } }
.ss-size {
  background: var(--ss-paper); border: 2px solid var(--ss-black);
  padding: clamp(0.8rem, 1.1vw, 1.3rem) 0.5rem;
  display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
  text-align: center; transition: all 0.15s ease; cursor: pointer;
}
.ss-size:hover { background: var(--ss-paper-warm); transform: translateY(-2px); }
.ss-size[aria-checked="true"] {
  background: var(--ss-black); color: var(--ss-acid);
  transform: translateY(-3px); box-shadow: 4px 4px 0 var(--ss-acid-deep);
}
.ss-size__label {
  font-family: var(--ss-display);
  font-size: clamp(1rem, 1.15vw, 1.4rem);
}
.ss-size__area {
  font-family: var(--ss-mono);
  font-size: clamp(0.85rem, 0.82vw, 1rem);
  opacity: 0.7;
}
.ss-size--custom {
  background: var(--ss-acid); color: var(--ss-black); border: 2px dashed var(--ss-black);
}

/* Custom size input */
.ss-custom-size {
  margin-top: 0.8rem; border: 2px dashed var(--ss-black); background: var(--ss-paper-warm);
}
.ss-custom-size[open] { background: var(--ss-white); }
.ss-custom-size__toggle {
  list-style: none; padding: 0.8rem 1rem;
  display: flex; align-items: center; gap: 0.6rem;
  cursor: pointer; font-family: var(--ss-display);
  font-size: clamp(0.9rem, 0.9vw, 1.1rem);
  color: var(--ss-black); user-select: none;
}
.ss-custom-size__toggle::-webkit-details-marker { display: none; }
.ss-custom-size__plus {
  width: 24px; height: 24px; display: grid; place-items: center;
  background: var(--ss-black); color: var(--ss-acid);
  font-size: 1.1rem; line-height: 1; transition: transform 0.2s ease; flex-shrink: 0;
}
.ss-custom-size[open] .ss-custom-size__plus { transform: rotate(45deg); }
.ss-custom-size__range {
  margin-left: auto; font-family: var(--ss-mono);
  font-size: clamp(0.78rem, 0.72vw, 0.9rem);
  background: var(--ss-black); color: var(--ss-acid);
  padding: 0.18rem 0.5rem; letter-spacing: 0.04em;
}
.ss-custom-size__inner { padding: 1rem; border-top: 2px dashed var(--ss-black); }
.ss-custom-size__fields {
  display: flex; align-items: flex-end; gap: 0.6rem; margin-bottom: 0.8rem;
}
.ss-custom-size__fields.is-round .ss-custom-size__times,
.ss-custom-size__fields.is-round #SSCustomHField-{{ section_id }} { display: none; }
.ss-custom-size__field { flex: 1; }
.ss-custom-size__field-label {
  display: block; font-family: var(--ss-mono);
  font-size: clamp(0.78rem, 0.72vw, 0.9rem);
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.28rem;
  color: var(--ss-ink);
}
.ss-custom-size__input-wrap { position: relative; }
.ss-custom-size__input-wrap input {
  width: 100%; background: var(--ss-white); border: 2px solid var(--ss-black);
  padding: 0.65rem 2.2rem 0.65rem 0.7rem;
  font-family: var(--ss-display);
  font-size: clamp(1rem, 1.1vw, 1.3rem);
  outline: none; transition: box-shadow 0.15s ease;
  -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
}
.ss-custom-size__input-wrap input::-webkit-inner-spin-button,
.ss-custom-size__input-wrap input::-webkit-outer-spin-button { -webkit-appearance: none; }
.ss-custom-size__input-wrap input:focus { box-shadow: 4px 4px 0 var(--ss-acid); transform: translate(-2px,-2px); }
.ss-custom-size__input-wrap input.is-invalid { border-color: var(--ss-spray); box-shadow: 4px 4px 0 var(--ss-spray); }
.ss-custom-size__unit {
  position: absolute; right: 0.7rem; top: 50%; transform: translateY(-50%);
  font-family: var(--ss-mono);
  font-size: clamp(0.82rem, 0.76vw, 0.95rem);
  color: var(--ss-concrete); pointer-events: none;
}
.ss-custom-size__times {
  font-family: var(--ss-display);
  font-size: clamp(1.1rem, 1.2vw, 1.5rem);
  padding-bottom: 0.65rem;
}
.ss-custom-size__apply {
  width: 100%; background: var(--ss-black); color: var(--ss-acid);
  font-family: var(--ss-display); padding: 0.85rem;
  font-size: clamp(0.9rem, 0.9vw, 1.1rem);
  letter-spacing: 0.05em; border: 2px solid var(--ss-black);
  transition: all 0.15s ease; display: flex; align-items: center; justify-content: center; gap: 0.5rem; cursor: pointer;
}
.ss-custom-size__apply:hover {
  background: var(--ss-acid); color: var(--ss-black);
  transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--ss-black);
}
.ss-custom-size__hint {
  font-size: clamp(0.78rem, 0.72vw, 0.9rem);
  color: var(--ss-concrete); margin-top: 0.6rem; font-family: var(--ss-mono);
}

/* ============================================================================
   QTY PICKER
   ========================================================================== */
.ss-qty-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(110px, 12vw, 155px), 1fr));
  gap: 0.5rem;
}
.ss-qty {
  background: var(--ss-paper); border: 2px solid var(--ss-black);
  padding: clamp(0.8rem, 1.1vw, 1.3rem) clamp(0.7rem, 1vw, 1.2rem);
  text-align: left;
  display: flex; flex-direction: column; gap: 0.3rem;
  position: relative; overflow: hidden;
  transition: all 0.15s ease; cursor: pointer;
}
.ss-qty:hover { background: var(--ss-paper-warm); transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--ss-black); }
.ss-qty[aria-checked="true"] {
  background: var(--ss-black); color: var(--ss-paper);
  transform: translate(-3px,-3px); box-shadow: 5px 5px 0 var(--ss-acid);
}
.ss-qty__count {
  font-family: var(--ss-display);
  font-size: clamp(1.5rem, 1.7vw, 2.2rem);
  letter-spacing: 0.01em; line-height: 1;
}
.ss-qty__count-suffix {
  font-family: var(--ss-mono);
  font-size: clamp(0.82rem, 0.78vw, 0.95rem);
  opacity: 0.65; margin-left: 0.3rem;
}
.ss-qty__per {
  font-family: var(--ss-mono);
  font-size: clamp(0.92rem, 0.92vw, 1.1rem);
  letter-spacing: 0.02em;
}
.ss-qty__per-strike { text-decoration: line-through; opacity: 0.4; margin-right: 0.25rem; }
.ss-qty__discount {
  position: absolute; top: 0; right: 0;
  background: var(--ss-spray); color: var(--ss-white);
  font-family: var(--ss-display);
  font-size: clamp(0.72rem, 0.68vw, 0.85rem);
  padding: 0.15rem 0.4rem; letter-spacing: 0.05em;
}
.ss-qty[aria-checked="true"] .ss-qty__discount { background: var(--ss-acid); color: var(--ss-black); }
.ss-qty__discount--zero { display: none; }
.ss-qty__best {
  display: inline-block; align-self: flex-start;
  margin-top: 0.35rem;
  background: var(--ss-tape); color: var(--ss-black);
  font-family: var(--ss-display);
  font-size: clamp(0.7rem, 0.72vw, 0.88rem);
  padding: 0.12rem 0.4rem;
  transform: rotate(-1.5deg); border: 1px solid rgba(0,0,0,0.35); letter-spacing: 0.04em;
}

/* ============================================================================
   ARTWORK / DESIGN PANEL
   ========================================================================== */
.ss-artwork-tabs {
  display: flex; border: 2px solid var(--ss-black); background: var(--ss-paper);
  margin-bottom: 1rem;
}
.ss-artwork-tab {
  flex: 1; padding: 0.7rem 0.75rem;
  font-family: var(--ss-display);
  font-size: clamp(0.88rem, 0.9vw, 1.1rem);
  letter-spacing: 0.03em;
  color: var(--ss-black); transition: all 0.15s ease;
  border-right: 2px solid var(--ss-black); cursor: pointer;
}
.ss-artwork-tab:last-child { border-right: 0; }
.ss-artwork-tab:hover { background: var(--ss-paper-warm); }
.ss-artwork-tab--active { background: var(--ss-black); color: var(--ss-acid); }

.ss-artwork-panel { animation: ss-fadeIn 0.22s ease; }
@keyframes ss-fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

.ss-upload {
  display: block; border: 3px dashed var(--ss-black);
  background: var(--ss-paper-warm); padding: clamp(1.2rem, 1.8vw, 2rem);
  text-align: center; cursor: pointer; transition: all 0.15s ease; position: relative;
}
.ss-upload:hover, .ss-upload.is-drag { background: var(--ss-acid); border-style: solid; }
.ss-upload input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.ss-upload__inner { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; pointer-events: none; color: var(--ss-black); }
.ss-upload__text {
  font-family: var(--ss-display);
  font-size: clamp(0.95rem, 1.0vw, 1.2rem);
}
.ss-upload__text strong { background: var(--ss-ink); color: var(--ss-acid); padding: 0 0.28rem; }
.ss-upload:hover .ss-upload__text strong { background: var(--ss-black); }
.ss-upload__meta {
  font-family: var(--ss-mono);
  font-size: clamp(0.78rem, 0.72vw, 0.9rem);
  color: var(--ss-concrete);
}
.ss-upload__file {
  display: flex; align-items: center; justify-content: space-between; gap: 0.6rem;
  margin-top: 0.7rem; padding: 0.55rem 0.75rem;
  background: var(--ss-black); color: var(--ss-acid);
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.78vw, 0.95rem);
  pointer-events: auto; position: relative; z-index: 2;
}
.ss-upload__file-clear {
  background: var(--ss-acid); color: var(--ss-black);
  width: 22px; height: 22px; display: grid; place-items: center;
  font-family: var(--ss-display); font-size: 0.95rem; line-height: 1; cursor: pointer;
}
.ss-upload__file-clear:hover { background: var(--ss-spray); color: var(--ss-white); }

.ss-email-info {
  display: flex; gap: 1rem;
  background: var(--ss-paper-warm); border: 2px solid var(--ss-black); padding: 1.1rem;
}
.ss-email-info__icon {
  font-size: 1.6rem; background: var(--ss-acid); color: var(--ss-black);
  width: 48px; height: 48px; display: grid; place-items: center;
  border: 2px solid var(--ss-black); flex-shrink: 0;
}
.ss-email-info__body strong {
  font-family: var(--ss-display);
  font-size: clamp(0.95rem, 1.0vw, 1.15rem);
  display: block; margin-bottom: 0.35rem;
}
.ss-email-info__body p {
  font-size: clamp(0.88rem, 0.85vw, 1.05rem);
  line-height: 1.55;
}
.ss-email-info__body a { color: var(--ss-ink); background: var(--ss-acid); padding: 0 0.22rem; font-weight: 700; }
.ss-email-info__check {
  display: flex; align-items: center; gap: 0.5rem; margin-top: 0.7rem;
  font-family: var(--ss-display);
  font-size: clamp(0.88rem, 0.85vw, 1.05rem);
  cursor: pointer;
}
.ss-email-info__check input { width: 18px; height: 18px; accent-color: var(--ss-black); cursor: pointer; }

/* ============================================================================
   PRICE CARD
   ========================================================================== */
.ss-price-card {
  background: var(--ss-black); color: var(--ss-paper);
  border: 2px solid var(--ss-black); padding: clamp(1.2rem, 1.8vw, 2rem);
  position: relative; overflow: hidden;
}
.ss-price-card__bg {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(230,255,0,0.1) 1.5px, transparent 1.5px);
  background-size: 16px 16px; pointer-events: none;
}
.ss-price-card > * { position: relative; z-index: 2; }
.ss-price-card__top {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 2px dashed rgba(245,241,232,0.2);
  margin-bottom: 0.9rem;
}
.ss-price-card__per-unit-label {
  display: block; font-family: var(--ss-mono);
  font-size: clamp(0.92rem, 0.85vw, 1.1rem);
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(245,241,232,0.65); margin-bottom: 0.25rem;
}
.ss-price-card__per-unit-value {
  font-family: var(--ss-display);
  font-size: clamp(1.8rem, 2.2vw, 2.6rem);
  color: var(--ss-acid);
}
.ss-price-card__savings {
  text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem;
}
.ss-price-card__savings-pct {
  background: var(--ss-spray); color: var(--ss-white);
  font-family: var(--ss-display);
  font-size: clamp(0.9rem, 0.95vw, 1.15rem);
  padding: 0.22rem 0.5rem; transform: rotate(2deg); display: inline-block;
}
.ss-price-card__savings-abs {
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.78vw, 0.95rem);
  color: var(--ss-paper);
}
.ss-price-card__savings.is-zero .ss-price-card__savings-pct {
  background: var(--ss-ink); color: rgba(245,241,232,0.3); transform: none;
}
.ss-price-card__savings.is-zero .ss-price-card__savings-abs { opacity: 0.45; }
.ss-price-card__total {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.3rem;
}
.ss-price-card__total-label {
  font-family: var(--ss-display);
  font-size: clamp(1.1rem, 1.15vw, 1.35rem);
  letter-spacing: 0.04em;
}
.ss-price-card__total-value {
  font-family: var(--ss-display);
  font-size: clamp(2.4rem, 3vw, 3.8rem);
  color: var(--ss-acid); letter-spacing: -0.02em; line-height: 1;
}
.ss-price-card__breakdown {
  font-family: var(--ss-mono);
  font-size: clamp(0.92rem, 0.88vw, 1.1rem);
  color: rgba(245,241,232,0.65); margin-bottom: 1.2rem; line-height: 1.55;
}
.ss-price-card__minnote {
  display: flex; align-items: flex-start; gap: 0.5rem;
  font-family: var(--ss-mono);
  font-size: clamp(0.85rem, 0.82vw, 1rem);
  color: var(--ss-acid);
  background: rgba(230,255,0,0.06);
  border-left: 2px solid var(--ss-acid);
  padding: 0.65rem 0.85rem;
  margin: -0.5rem 0 1rem;
  line-height: 1.5;
}
.ss-price-card__minnote[hidden] { display: none; }
.ss-price-card__minnote span { font-size: 1rem; line-height: 1; }
.ss-price-flash { animation: ss-flash 0.35s ease; }
@keyframes ss-flash {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.05); color: var(--ss-white); }
  100% { transform: scale(1); }
}

/* Minimum order note */
.ss-min-order-note {
  font-family: var(--ss-mono);
  font-size: clamp(0.78rem, 0.75vw, 0.9rem);
  font-weight: 700; color: var(--ss-acid);
  background: rgba(230,255,0,0.07);
  border: 1px solid rgba(230,255,0,0.25);
  padding: 0.5rem 0.8rem; margin-bottom: 0.9rem;
  text-transform: uppercase; letter-spacing: 0.05em;
}

/* CTA Button */
.ss-cta {
  width: 100%; background: var(--ss-acid); color: var(--ss-black);
  border: 3px solid var(--ss-paper);
  padding: clamp(1rem, 1.3vw, 1.5rem) 1.3rem;
  display: flex; align-items: center; justify-content: space-between; gap: 0.6rem;
  font-family: var(--ss-display);
  font-size: clamp(1.2rem, 1.35vw, 1.6rem);
  letter-spacing: 0.03em;
  transition: all 0.15s ease; cursor: pointer; position: relative; overflow: hidden;
}
.ss-cta::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
  transform: translateX(-100%); transition: transform 0.5s ease;
}
.ss-cta:hover::before { transform: translateX(100%); }
.ss-cta:hover { background: var(--ss-paper); transform: translate(-3px,-3px); box-shadow: 6px 6px 0 var(--ss-acid); }
.ss-cta__arrow { margin-left: auto; font-size: 1.3rem; transition: transform 0.18s ease; }
.ss-cta:hover .ss-cta__arrow { transform: translateX(5px); }
.ss-cta__price {
  background: var(--ss-black); color: var(--ss-acid);
  padding: 0.32rem 0.7rem;
  font-size: clamp(1.05rem, 1.1vw, 1.3rem);
}

/* Trust strip */
.ss-trust {
  display: flex; flex-wrap: wrap; gap: 0.5rem 1.1rem;
  margin-top: 1.1rem; padding-top: 1rem;
  border-top: 2px dashed rgba(245,241,232,0.15);
  font-family: var(--ss-mono);
  font-size: clamp(0.92rem, 0.95vw, 1.1rem);
  color: rgba(245,241,232,0.8);
}

/* ============================================================================
   PRICE TABLE  (full-width section at bottom)
   ========================================================================== */
.ss-pricetable {
  background: var(--ss-ink); color: var(--ss-paper);
  padding: 0;
  margin-top: 0;
  border-top: 3px solid var(--ss-black);
}
.ss-pricetable__inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: clamp(2rem, 3.5vw, 4rem) clamp(1.5rem, 3vw, 3rem);
}
.ss-pricetable__heading {
  font-family: var(--ss-display);
  font-size: clamp(1.6rem, 2.5vw, 3rem);
  letter-spacing: -0.01em;
  display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap;
  color: var(--ss-paper); margin-bottom: 0.5rem;
}
.ss-pricetable__heading-mark {
  font-family: var(--ss-hand);
  font-size: clamp(0.9rem, 1.1vw, 1.4rem);
  color: var(--ss-acid);
}
.ss-pricetable__sub {
  font-family: var(--ss-mono);
  font-size: clamp(0.85rem, 0.85vw, 1.05rem);
  margin-bottom: 1.2rem;
  color: rgba(245,241,232,0.65);
}
.ss-pricetable__sub strong { color: var(--ss-acid); }
.ss-pricetable__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(120px, 12vw, 165px), 1fr));
  gap: 0.5rem;
}
.ss-pricetable__cell {
  background: var(--ss-black); border: 2px solid var(--ss-paper);
  padding: clamp(0.8rem, 1.1vw, 1.3rem);
  display: flex; flex-direction: column; gap: 0.3rem;
  position: relative; transition: all 0.15s ease; cursor: pointer;
}
.ss-pricetable__cell:hover { transform: translate(-2px,-2px); box-shadow: 5px 5px 0 var(--ss-acid); }
.ss-pricetable__cell--active {
  background: var(--ss-acid); color: var(--ss-black);
  border-color: var(--ss-black);
  transform: translate(-3px,-3px); box-shadow: 6px 6px 0 var(--ss-paper);
}
.ss-pricetable__cell-qty {
  font-family: var(--ss-display);
  font-size: clamp(1.2rem, 1.4vw, 1.7rem);
  letter-spacing: 0.01em;
}
.ss-pricetable__cell-per {
  font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.8vw, 1rem);
  opacity: 0.9;
}
.ss-pricetable__cell-total {
  font-family: var(--ss-display);
  font-size: clamp(0.9rem, 1.0vw, 1.2rem);
  color: var(--ss-acid); margin-top: 0.2rem;
}
.ss-pricetable__cell--active .ss-pricetable__cell-total { color: var(--ss-ink); }
.ss-pricetable__cell-discount {
  position: absolute; top: 0; right: 0;
  background: var(--ss-spray); color: var(--ss-white);
  font-family: var(--ss-display);
  font-size: clamp(0.72rem, 0.7vw, 0.85rem);
  padding: 0.12rem 0.4rem;
}
.ss-pricetable__cell--active .ss-pricetable__cell-discount {
  background: var(--ss-black); color: var(--ss-acid);
}
.ss-pricetable__foot {
  margin-top: 1.2rem; font-family: var(--ss-mono);
  font-size: clamp(0.8rem, 0.78vw, 0.95rem);
  color: rgba(245,241,232,0.5);
}

/* ============================================================================
   PRODUCT DESCRIPTION SECTION  (SEO — below configurator)
   ========================================================================== */
.ss-product-desc {
  padding: 0;
  background: var(--ss-paper);
  border-top: 3px solid var(--ss-black);
}
.ss-product-desc__inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: clamp(2.5rem, 4vw, 5rem) clamp(1.5rem, 3vw, 3rem);
}
.ss-product-desc__text {
  max-width: 820px; /* readable line length for body copy */
}
.ss-product-desc h2,
.ss-product-desc h3 {
  font-family: var(--ss-display) !important;
  font-size: clamp(1.5rem, 1.9vw, 2.3rem) !important;
  text-transform: uppercase !important;
  color: var(--ss-black) !important;
  margin: 2.2rem 0 0.9rem !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
}
.ss-product-desc h2:first-child,
.ss-product-desc h3:first-child { margin-top: 0 !important; }
.ss-product-desc p {
  font-family: var(--ss-body);
  font-size: clamp(1.05rem, 1.15vw, 1.3rem);
  line-height: 1.7;
  color: var(--ss-ink);
  margin-bottom: 1.1rem;
  max-width: 70ch;
}
.ss-product-desc ul,
.ss-product-desc ol {
  padding-left: 1.5rem; margin-bottom: 1.3rem;
}
.ss-product-desc li {
  font-family: var(--ss-body);
  font-size: clamp(1.05rem, 1.15vw, 1.3rem);
  line-height: 1.65; margin-bottom: 0.55rem;
  color: var(--ss-ink);
}
.ss-product-desc strong { color: var(--ss-black); }
.ss-product-desc a {
  color: var(--ss-black);
  background: linear-gradient(180deg, transparent 65%, var(--ss-acid) 65%);
  text-decoration: none;
}
.ss-product-desc a:hover { background: var(--ss-acid); }
/* Hide embedded scripts and style tags if any */
.ss-product-desc script,
.ss-product-desc style { display: none; }

/* FAQ accordions */
.ss-faq {
  border: 2px solid var(--ss-black);
  background: var(--ss-paper-warm, #ebebe2);
  margin-bottom: 0.6rem;
  box-shadow: 3px 3px 0 var(--ss-black);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.ss-faq[open] {
  background: #fff;
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--ss-black);
}
.ss-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1.1rem 1.3rem;
  font-family: var(--ss-display);
  font-size: clamp(1rem, 1.1vw, 1.25rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--ss-black);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.ss-faq summary::-webkit-details-marker { display: none; }
.ss-faq summary::after {
  content: '+';
  font-family: var(--ss-display);
  font-size: 1.6rem;
  color: var(--ss-acid);
  -webkit-text-stroke: 1px var(--ss-black);
  transition: transform 0.15s ease;
  flex-shrink: 0;
  line-height: 1;
}
.ss-faq[open] summary::after { transform: rotate(45deg); }
.ss-faq p {
  padding: 0 1.3rem 1.25rem;
  margin: 0 !important;
  font-size: clamp(1rem, 1.05vw, 1.2rem);
  line-height: 1.65;
  color: var(--ss-ink);
}

.ss-product-desc__cta-line {
  margin-top: 2.5rem !important;
  padding: 1.2rem 1.5rem;
  background: var(--ss-acid);
  border: 2px solid var(--ss-black);
  box-shadow: 4px 4px 0 var(--ss-black);
  font-family: var(--ss-display);
  font-size: clamp(0.95rem, 1vw, 1.15rem) !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--ss-black) !important;
  line-height: 1.4 !important;
}

/* ============================================================================
   MOBILE-RESPONSIVE SWEEP — final pre-launch polish
   ============================================================================ */
@media (max-width: 989px) {
  .ss-product {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.25rem 1rem;
  }
  .ss-gallery__main { max-height: 60vh; }
}

@media (max-width: 749px) {
  .ss-product {
    padding: 1rem 0.85rem;
    gap: 1.5rem;
  }
  .ss-config__title { font-size: clamp(2rem, 11vw, 4rem); line-height: 0.9; }
  .ss-config__sub { font-size: 1rem !important; line-height: 1.55 !important; }
  .ss-config__sub-mark { font-size: 1.05em !important; }
  .ss-config__title-line { font-size: clamp(2.2rem, 11vw, 3.2rem) !important; }

  .ss-shape-grid,
  .ss-size-grid {
    grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
    gap: 0.45rem;
  }
  .ss-qty-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }

  .ss-shape { padding: 0.9rem 0.4rem; }
  .ss-shape__visual { width: 28px; height: 28px; }
  .ss-shape__label { font-size: 0.78rem; }

  .ss-size { padding: 0.7rem 0.5rem; }
  .ss-size__label { font-size: 0.85rem; }
  .ss-size__area { font-size: 0.7rem; }

  .ss-qty { padding: 0.85rem 0.7rem; }
  .ss-qty__count { font-size: 1.4rem; }
  .ss-qty__per { font-size: 0.78rem; }
  .ss-qty__discount { font-size: 0.7rem; padding: 2px 6px; }

  .ss-custom-size__inner { padding: 0.9rem; }
  .ss-custom-size__fields {
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
  }
  .ss-custom-size__times { display: none; }

  /* Touch targets ≥ 44px */
  .ss-shape, .ss-size, .ss-qty,
  .ss-artwork-tab,
  .ss-cta,
  .ss-custom-size__apply { min-height: 44px; }

  .ss-cta {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 1rem 1.2rem;
  }
  .ss-cta__text { font-size: 0.95rem; }
  .ss-cta__price { font-size: 1.1rem; }

  .ss-price-card { padding: 1.25rem; }
  .ss-price-card__per-unit-value { font-size: clamp(2rem, 9vw, 3rem); }
  .ss-price-card__total-value    { font-size: clamp(2.4rem, 12vw, 4rem); }

  .ss-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.78rem;
  }

  .ss-gallery__usps {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  .ss-gallery__usp {
    padding: 0.7rem 0.6rem;
    font-size: 0.75rem;
  }

  .ss-pricetable__inner { padding: 2rem 1rem; }
  .ss-pricetable__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .ss-pricetable__cell { padding: 0.85rem 0.7rem; }

  .ss-product-desc__inner { padding: 2.25rem 1.1rem; }
  .ss-product-desc h2 { font-size: 1.45rem !important; margin-top: 2rem !important; line-height: 1.15 !important; }
  .ss-product-desc p,
  .ss-product-desc li { font-size: 1.05rem !important; line-height: 1.65 !important; }
  .ss-product-desc ul, .ss-product-desc ol { padding-left: 1.25rem !important; }
  .ss-faq summary { font-size: 1rem !important; padding: 1rem 1rem !important; line-height: 1.3 !important; }
  .ss-faq summary::after { font-size: 1.5rem !important; }
  .ss-faq p { padding: 0 1rem 1rem !important; font-size: 1rem !important; line-height: 1.6 !important; }
  .ss-product-desc__cta-line { padding: 1rem 1.1rem !important; font-size: 0.95rem !important; line-height: 1.4 !important; }
}

@media (max-width: 380px) {
  .ss-shape-grid { grid-template-columns: repeat(3, 1fr); gap: 0.35rem; }
  .ss-shape { padding: 0.7rem 0.3rem; }
  .ss-config__breadcrumb { font-size: 0.7rem; flex-wrap: wrap; }
  .ss-product { padding: 1rem 0.75rem !important; gap: 1.25rem !important; }
  .ss-size-grid, .ss-qty-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.4rem; }
  .ss-faq summary { min-height: 44px; padding: 0.75rem 0.85rem; }
}

/* 320px — iPhone SE / Galaxy Fold */
@media (max-width: 320px) {
  .ss-product { padding: 0.75rem 0.5rem !important; gap: 1rem !important; }
  .ss-shape { font-size: 0.78rem; padding: 0.55rem 0.25rem; }
  .ss-size, .ss-qty { font-size: 0.85rem; }
  .ss-price-card__total-value { font-size: 1.8rem !important; }
  .ss-cta { font-size: 0.95rem; padding: 0.85rem 1rem; }
  .ss-product-desc h2 { font-size: 1.3rem !important; }
  .ss-product-desc p, .ss-product-desc li { font-size: 1rem !important; }
  .ss-faq summary { font-size: 0.95rem !important; padding: 0.9rem 0.85rem !important; }
  .ss-faq p { font-size: 0.95rem !important; padding: 0 0.85rem 0.9rem !important; }
}

/* FAQ Touch-Target overall */
.ss-faq summary { min-height: 44px; display: flex; align-items: center; }
