/** Shopify CDN: Minification failed

Line 365:0 Unexpected "}"

**/
/* =========================
WRAPPER
========================= */

.v2-wrapper {
  max-width: 900px;
  margin: auto;
  padding: 20px;
}

/* =========================
UNIFIED CONTENT WIDTH
========================= */

.v2-inner {
  max-width: 700px;
  margin: 0 auto;
}

/* =========================
AI BAR
========================= */

.v2-ai-bar {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* row */
.v2-ai-row {
  display: flex;
  gap: 10px;
  width: 100%;
}

/* prompt */
#v2-prompt {
  flex: 2;
  height: 42px;
  font-size: 16px;
  padding: 8px;
  box-sizing: border-box;
}

/* dropdown */
#v2-niche {
  flex: 1;
  height: 42px;
  padding: 6px;
  font-size: 16px;
  box-sizing: border-box;
}

/* generate */
#v2-generate {
  width: 100%;
  height: 44px;
  background: #22c55e;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
}

#v2-generate:hover {
  background: #16a34a;
}

/* =========================
LOADING DOTS
========================= */

#v2-generate.loading {
  pointer-events: none;
  opacity: 0.85;
}

.v2-dots {
  display: inline-flex;
  gap: 4px;
  margin-left: 6px;
}

.v2-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
  animation: v2-bounce 1.2s infinite;
}

.v2-dots span:nth-child(1) {
  background: #22c55e;
  animation-delay: 0s;
}
.v2-dots span:nth-child(2) {
  background: #3b82f6;
  animation-delay: 0.2s;
}
.v2-dots span:nth-child(3) {
  background: #f59e0b;
  animation-delay: 0.4s;
}

@keyframes v2-bounce {
  0%, 80%, 100% { transform: scale(0.5); }
  40% { transform: scale(1); }
}

/* =========================
INSTRUCTION TEXT
========================= */

#v2-instruction {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  margin-top: 10px;
  color: #444;
}

/* =========================
RESULTS (IMAGES)
========================= */

#v2-results {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10px;
}

#v2-results img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  transition: 0.2s ease;
}

#v2-results img:hover {
  transform: scale(1.05);
}

/* =========================
VIEW TOGGLE (NEW)
========================= */

.v2-view-toggle {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.v2-view-toggle button {
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  cursor: pointer;
  font-weight: 500;
}

.v2-view-toggle button.active {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* =========================
CANVAS (TSHIRT)
========================= */

.v2-canvas {
  touch-action: none;
  position: relative;
  width: 460px;
  height: 520px;
  margin: 10px impportant;
}

#v2-shirt {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#v2-design {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 70%;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center;
  touch-action: none;
}

/* =========================
CONTROLS
========================= */

.v2-controls {
  width: 100%;
  max-width: 700px;
  margin: 10px auto;

  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
  align-items: center;
}

.v2-controls * {
  margin: 0;
}

/* dropdown */
#v2-color {
  width: 100%;
  height: 42px;
  font-size: 14px;
  box-sizing: border-box;
}

/* save */
#v2-save {
  width: 100%;
  height: 42px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  cursor: pointer;
}

/* add to cart */
#v2-cart {
  width: 100%;
  height: 42px;
  border-radius: 6px;
  border: none;
  background: #000;
  color: white;
  font-weight: 600;
  cursor: pointer;
}

#v2-cart:hover {
  background: #222;
}

/* =========================
COLOR SWATCHES (OPTIONAL)
========================= */

#v2-colors {
  display: flex;
  gap: 10px;
}

.v2-color {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: 0.2s ease;
}

.v2-color:hover {
  transform: scale(1.1);
}

.v2-color.active {
  border: 2px solid #000;
}

/* =========================
UTILS
========================= */

.hidden {
  display: none;
}
/* FIX CART IMAGE SIZE GLOBALLY */

.cart img,
.cart__image img,
.cart-item__image img,
td.product-thumbnail img {
  width: 80px !important;
  max-width: 80px !important;
  height: auto !important;
  object-fit: contain !important;
}
.cart-items img {
  width: 100px !important;
  max-width: 100px !important;
  height: auto !important;
  object-fit: contain !important;
}
button[name="update"] {
  display: none !important;
}
.v2-canvas {
  touch-action: none;
}

#v2-design {
  touch-action: none;
}
/* 🔥 REDUCE SPACE BELOW TSHIRT */
.v2-canvas {
  margin-bottom: 10px !important; /* reduce gap */
}

/* OPTIONAL: tighten wrapper spacing */
.v2-wrapper {
  padding-bottom: 0px !important;
}

/* OPTIONAL: reduce footer top spacing */
footer {
  margin-top: 10px !important;
}
/* =========================
CENTER TSHIRT PERFECTLY
========================= */

.v2-canvas {
  display: flex;
  justify-content: center;   /* horizontal center */
  align-items: center;       /* vertical center */
  
  width: 100%;
  height: 520px;             /* desktop height */
  margin: 0 auto;            /* center container */

  position: relative;
}

/* shirt image */
#v2-shirt {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

/* design stays absolute on top */
#v2-design {
  position: absolute;
  transform-origin: center;
}
}
#v2-design {
  transform-origin: center center;
}
@media (max-width: 768px) {

  .v2-canvas {
    height: 420px;   /* smaller for mobile */
  }

  #v2-shirt {
    max-width: 90%;
  }
}