/* APoloStúdió – Public CSS v1.3 — minden szabály !important az Elementor ellen */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

/* ═══════════════════════════════════════════════════════
   APP WRAPPER
═══════════════════════════════════════════════════════ */
#polostudio-app {
  --ps-bg:     #08080f;
  --ps-panel:  #0f0f1a;
  --ps-panel2: #16162a;
  --ps-border: #252538;
  --ps-accent: #ff3d5a;
  --ps-acc2:   #ff8c1a;
  --ps-acc3:   #6c2bd9;
  --ps-teal:   #00d4aa;
  --ps-text:   #eff0fb;
  --ps-muted:  #5a5a7a;

  all: unset !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  background: #08080f !important;
  color: #eff0fb !important;
  font-family: 'DM Sans', sans-serif !important;
  border-radius: 16px !important;
  /* NOTE: overflow is intentionally NOT hidden here so fixed children work */
  overflow: visible !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.6) !important;
  position: relative !important;
  margin: 24px auto !important;
  box-sizing: border-box !important;
}
/* Clip the visual corners without clipping fixed modals */
#polostudio-app::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 16px !important;
  pointer-events: none !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04) !important;
  z-index: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   PANELS
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-panel {
  background: #0f0f1a !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  padding: 14px 16px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #252538 transparent !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
  /* Rounded corners on left/right panels */
}
#polostudio-app .ps-panel-left  { border-right: 1px solid #252538 !important; border-radius: 0 !important; }
#polostudio-app .ps-panel-right { border-left: 1px solid #252538 !important; border-radius: 0 !important; overflow-y: visible !important; overflow-x: visible !important; }
#polostudio-app .ps-panel::-webkit-scrollbar       { width: 3px !important; }
#polostudio-app .ps-panel::-webkit-scrollbar-thumb { background: #252538 !important; border-radius: 2px !important; }

#polostudio-app .ps-sec { margin-bottom: 12px !important; }
#polostudio-app .ps-sec-title {
  font-family: 'Bebas Neue', cursive !important;
  font-size: .93rem !important; letter-spacing: 2px !important;
  color: #5a5a7a !important; text-transform: uppercase !important;
  margin-bottom: 10px !important; display: flex !important;
  align-items: center !important; gap: 7px !important; line-height: 1 !important;
}
#polostudio-app .ps-sec-title i {
  display: block !important; width: 2px !important; height: 13px !important;
  background: linear-gradient(to bottom, #ff3d5a, #ff8c1a) !important;
  border-radius: 1px !important; flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   TYPE CARDS
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-type-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 7px !important;
}
#polostudio-app .ps-type-card {
  background: #16162a !important; border: 1.5px solid #252538 !important;
  border-radius: 9px !important; padding: 8px 6px !important;
  cursor: pointer !important; text-align: center !important;
  font-size: .76rem !important; font-weight: 600 !important;
  color: #5a5a7a !important;
  transition: border-color .18s, background .18s, color .18s !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 5px !important;
  line-height: 1.2 !important; user-select: none !important;
}
#polostudio-app .ps-type-card img {
  width: 52px !important; height: 52px !important;
  object-fit: contain !important; border-radius: 5px !important; display: block !important;
}
#polostudio-app .ps-type-card .ps-type-noimg {
  width: 44px !important; height: 44px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; font-size: 1.6rem !important;
  background: #1e1e36 !important; border-radius: 5px !important;
}
#polostudio-app .ps-type-card:hover  { border-color: #ff3d5a !important; color: #ff3d5a !important; background: rgba(255,61,90,.05) !important; }
#polostudio-app .ps-type-card.active { border-color: #ff3d5a !important; background: rgba(255,61,90,.09) !important; color: #ff3d5a !important; box-shadow: 0 0 14px rgba(255,61,90,.1) !important; }

/* ═══════════════════════════════════════════════════════
   COLOR SWATCHES
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-color-grid { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; }
#polostudio-app .ps-color-swatch {
  width: 30px !important; height: 30px !important; border-radius: 50% !important;
  cursor: pointer !important; border: 2px solid transparent !important;
  transition: transform .18s, box-shadow .18s !important;
  position: relative !important; box-shadow: 0 2px 8px rgba(0,0,0,.45) !important;
  display: block !important; flex-shrink: 0 !important;
}
#polostudio-app .ps-color-swatch:hover { transform: scale(1.18) !important; }
#polostudio-app .ps-color-swatch.active {
  border-color: #fff !important; transform: scale(1.22) !important;
  box-shadow: 0 0 0 2px #ff3d5a, 0 3px 12px rgba(0,0,0,.5) !important;
}
#polostudio-app .ps-color-swatch.active::after {
  content: '✓' !important; position: absolute !important; inset: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #fff !important; font-size: .72rem !important; font-weight: 700 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.9) !important;
}

/* ═══════════════════════════════════════════════════════
   SIZES
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-size-row { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
#polostudio-app .ps-sz {
  background: #16162a !important; border: 1.5px solid #252538 !important;
  border-radius: 7px !important; padding: 6px 12px !important;
  color: #eff0fb !important; font-family: 'Space Mono', monospace !important;
  font-size: .8rem !important; cursor: pointer !important; transition: .18s !important; line-height: 1 !important;
}
#polostudio-app .ps-sz:hover  { border-color: #ff3d5a !important; color: #ff3d5a !important; }
#polostudio-app .ps-sz.active { background: #ff3d5a !important; border-color: #ff3d5a !important; color: #fff !important; box-shadow: 0 3px 12px rgba(255,61,90,.35) !important; }

/* ═══════════════════════════════════════════════════════
   QTY
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-qty-row { display: flex !important; align-items: center !important; gap: 9px !important; }
#polostudio-app .ps-qty-btn {
  width: 30px !important; height: 30px !important; border-radius: 7px !important;
  background: #16162a !important; border: 1px solid #252538 !important;
  color: #eff0fb !important; font-size: 1.1rem !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: .18s !important; line-height: 1 !important; padding: 0 !important;
}
#polostudio-app .ps-qty-btn:hover { border-color: #ff3d5a !important; color: #ff3d5a !important; }
#polostudio-app .ps-qty-num  { font-family: 'Space Mono',monospace !important; font-size:1.1rem !important; min-width:26px !important; text-align:center !important; color:#eff0fb !important; }
#polostudio-app .ps-qty-unit { font-size:.8rem !important; color:#5a5a7a !important; }

/* ═══════════════════════════════════════════════════════
   STOCK BADGE
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-stock-badge-wrap { padding: 0 0 12px !important; }
#polostudio-app .ps-stock-badge {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 10px 14px !important; border-radius: 10px !important;
  font-size: .82rem !important; line-height: 1.4 !important; font-weight: 500 !important;
}
#polostudio-app .ps-stock-loading  { background: rgba(255,255,255,.05) !important; color: #5a5a7a !important; }
#polostudio-app .ps-stock-spin     { display:inline-block !important; animation: ps-spin 1s linear infinite !important; }
@keyframes ps-spin { to { transform: rotate(360deg); } }
#polostudio-app .ps-stock-instock  { background: rgba(34,197,94,.12) !important; color: #4ade80 !important; border: 1px solid rgba(34,197,94,.2) !important; }
#polostudio-app .ps-stock-lowstock { background: rgba(245,158,11,.12) !important; color: #fbbf24 !important; border: 1px solid rgba(245,158,11,.2) !important; }
#polostudio-app .ps-stock-external { background: rgba(148,163,184,.1)  !important; color: #5a5a7a !important; border: 1px solid rgba(148,163,184,.15) !important; }

/* ═══════════════════════════════════════════════════════
   UPLOAD ZONE
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-upload-zone {
  border: 1.5px dashed #252538 !important; border-radius: 11px !important;
  padding: 18px 12px !important; text-align: center !important;
  cursor: pointer !important; transition: border-color .22s, background .22s !important;
  background: #16162a !important; position: relative !important;
}
#polostudio-app .ps-upload-zone:hover { border-color: #ff8c1a !important; background: rgba(255,140,26,.04) !important; }
#polostudio-app .ps-upload-zone input[type=file] {
  position: absolute !important; inset: 0 !important; opacity: 0 !important;
  cursor: pointer !important; width: 100% !important; height: 100% !important;
}
#polostudio-app .ps-upload-icon { font-size:1.7rem !important; margin-bottom:6px !important; display:block !important; }
#polostudio-app .ps-upload-text { font-size:.81rem !important; color:#5a5a7a !important; line-height:1.5 !important; }
#polostudio-app .ps-upload-text strong { color:#ff8c1a !important; display:block !important; }

/* ═══════════════════════════════════════════════════════
   CENTER / CANVAS
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-center {
  background: radial-gradient(ellipse 75% 65% at 50% 45%, #0d0d22, #08080f) !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  position: relative !important; overflow: hidden !important;
  /* Clip only the center column visually */
}
#polostudio-app .ps-view-toggle {
  position: absolute !important; top: 14px !important; left: 50% !important;
  transform: translateX(-50%) !important; display: flex !important;
  border: 1px solid #252538 !important; border-radius: 9px !important;
  overflow: hidden !important; background: rgba(8,8,15,.7) !important;
  backdrop-filter: blur(8px) !important; z-index: 5 !important;
}
#polostudio-app .ps-view-btn {
  padding: 6px 20px !important; background: transparent !important;
  border: none !important; color: #5a5a7a !important; cursor: pointer !important;
  font-size: .82rem !important; font-weight: 600 !important;
  font-family: 'DM Sans',sans-serif !important; transition: .18s !important; line-height: 1 !important;
}
#polostudio-app .ps-view-btn.active { background: #ff3d5a !important; color: #fff !important; }

#polostudio-app .ps-canvas-wrap {
  position: relative !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  max-height: none !important;
}
#polostudio-app .ps-shirt-img {
  display: block !important; max-height: none !important;
  max-width: 100% !important; object-fit: contain !important;
  filter: drop-shadow(0 28px 56px rgba(0,0,0,.75)) !important;
  user-select: none !important; pointer-events: none !important;
}
#polostudio-app .ps-no-image-msg {
  display: none !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  padding: 40px !important; text-align: center !important; color: #5a5a7a !important;
  border: 2px dashed #252538 !important; border-radius: 12px !important;
  min-width: 260px !important; min-height: 320px !important;
  font-size: .9rem !important; line-height: 1.6 !important;
}
#polostudio-app .ps-no-image-msg.ps-visible { display: flex !important; }
#polostudio-app .ps-no-image-msg span { font-size:2.5rem !important; margin-bottom:12px !important; display:block !important; }
#polostudio-app #ps-design-canvas {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  pointer-events: all !important; cursor: default !important;
}
#polostudio-app .ps-print-area {
  position: absolute !important;
  /* Dupla határ: belső fehér + külső sötét shadow → minden pólószínen látszik */
  border: 2px dashed rgba(255,255,255,0.9) !important;
  outline: 2px dashed rgba(0,0,0,0.55) !important;
  outline-offset: 2px !important;
  background: rgba(255,255,255,0.04) !important;
  border-radius: 4px !important;
  pointer-events: none !important;
  transition: border-color .2s, outline-color .2s, box-shadow .2s !important;
  z-index: 2 !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.3) inset !important;
}
/* Kilógás esetén piros keret — JS adja az osztályt */
#polostudio-app .ps-print-area.ps-pa-overflow {
  border-color: rgba(255,61,90,0.95) !important;
  outline-color: rgba(120,0,0,0.6) !important;
  box-shadow: 0 0 12px rgba(255,61,90,0.4) inset, 0 0 0 1px rgba(120,0,0,0.3) inset !important;
  background: rgba(255,61,90,0.06) !important;
}
#polostudio-app .ps-hints {
  position: absolute !important; bottom: 12px !important;
  left: 50% !important; transform: translateX(-50%) !important;
  display: flex !important; gap: 14px !important;
  font-size: .72rem !important; color: #3a3a55 !important; white-space: nowrap !important;
}
#polostudio-app .ps-hints b { color: rgba(255,255,255,.3) !important; }

/* ═══════════════════════════════════════════════════════
   RIGHT PANEL — TOOLS
═══════════════════════════════════════════════════════ */
#polostudio-app .ps-tool-row { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; margin-bottom: 10px !important; }
#polostudio-app .ps-tbtn {
  background: #16162a !important; border: 1px solid #252538 !important;
  border-radius: 7px !important; padding: 6px 11px !important;
  color: #eff0fb !important; cursor: pointer !important;
  font-size: .77rem !important; font-weight: 600 !important;
  transition: .18s !important; font-family: 'DM Sans',sans-serif !important; line-height: 1 !important;
}
#polostudio-app .ps-tbtn:hover       { border-color: #6c2bd9 !important; color: #6c2bd9 !important; }
#polostudio-app .ps-tbtn-red:hover   { border-color: #ff3d5a !important; color: #ff3d5a !important; }
#polostudio-app .ps-tbtn-green:hover { border-color: #00d4aa !important; color: #00d4aa !important; }

#polostudio-app #ps-text-area { margin-bottom: 12px !important; }
#polostudio-app .ps-text-input {
  width: 100% !important; padding: 8px 10px !important; margin-bottom: 8px !important;
  background: #16162a !important; border: 1px solid #252538 !important;
  border-radius: 7px !important; color: #eff0fb !important;
  font-size: .88rem !important; font-family: 'DM Sans',sans-serif !important;
  outline: none !important; box-sizing: border-box !important;
}
#polostudio-app .ps-text-input:focus { border-color: #6c2bd9 !important; }
#polostudio-app .ps-text-row { display: flex !important; gap: 7px !important; align-items: center !important; }
#polostudio-app .ps-text-row input[type=color] { width:34px !important; height:34px !important; border:none !important; border-radius:6px !important; padding:2px !important; cursor:pointer !important; background:none !important; }
#polostudio-app .ps-text-font {
  flex: 1 !important; padding: 6px 8px !important; background: #16162a !important;
  border: 1px solid #252538 !important; border-radius: 7px !important;
  color: #eff0fb !important; font-size: .82rem !important;
  font-family: 'DM Sans',sans-serif !important; outline: none !important;
}

/* sliders */
#polostudio-app .ps-slider-grp { margin-bottom: 12px !important; }
#polostudio-app .ps-slider-lbl { display:flex !important; justify-content:space-between !important; margin-bottom:5px !important; font-size:.79rem !important; color:#5a5a7a !important; }
#polostudio-app .ps-slider-lbl span { font-family:'Space Mono',monospace !important; color:#ff8c1a !important; font-size:.76rem !important; }
#polostudio-app input[type=range] {
  width:100% !important; -webkit-appearance:none !important; height:3px !important;
  border-radius:2px !important; background:#252538 !important; outline:none !important;
  cursor:pointer !important; display:block !important;
}
#polostudio-app input[type=range]::-webkit-slider-thumb {
  -webkit-appearance:none !important; width:13px !important; height:13px !important;
  border-radius:50% !important; background:linear-gradient(135deg,#ff8c1a,#ff3d5a) !important;
  cursor:pointer !important; box-shadow:0 2px 7px rgba(255,61,90,.4) !important;
}

#polostudio-app .ps-divider { height:1px !important; background:#252538 !important; margin:8px 0 !important; }

/* price card */
#polostudio-app .ps-price-card {
  background: linear-gradient(135deg,rgba(20,8,50,.95),rgba(28,12,55,.8)) !important;
  border: 1px solid rgba(108,43,217,.25) !important;
  border-radius: 12px !important; padding: 15px !important; margin-bottom: 12px !important;
}
#polostudio-app .ps-prow {
  display: flex !important; justify-content: space-between !important;
  padding: 4px 0 !important; font-size: .8rem !important; color: #5a5a7a !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
#polostudio-app .ps-prow:last-of-type { border-bottom: none !important; }
#polostudio-app .ps-prow span:last-child { font-family:'Space Mono',monospace !important; color:#eff0fb !important; font-size:.83rem !important; }
#polostudio-app .ps-price-total {
  font-family: 'Bebas Neue',cursive !important; font-size: 2.3rem !important;
  background: linear-gradient(120deg,#ff8c1a,#ff3d5a) !important;
  -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important;
  text-align: center !important; margin: 10px 0 2px !important;
  letter-spacing: 2px !important; display: block !important;
}
#polostudio-app .ps-price-lbl { text-align:center !important; font-size:.68rem !important; color:#5a5a7a !important; letter-spacing:2px !important; text-transform:uppercase !important; }
#polostudio-app .ps-print-detail-row { font-size:.72rem !important; color:#3a3a55 !important; text-align:center !important; margin-top:4px !important; padding-top:4px !important; border-top:1px solid rgba(255,255,255,.04) !important; min-height:16px !important; }
#polostudio-app .ps-order-btn {
  width:100% !important; padding:13px !important;
  background: linear-gradient(135deg,#ff3d5a,#ff8c1a) !important;
  border:none !important; border-radius:10px !important; color:#fff !important;
  font-family:'Bebas Neue',cursive !important; font-size:1.2rem !important;
  letter-spacing:2px !important; cursor:pointer !important; transition:.22s !important;
  box-shadow:0 6px 20px rgba(255,61,90,.22) !important; display:block !important;
}
#polostudio-app .ps-order-btn:hover { transform:translateY(-2px) !important; box-shadow:0 12px 28px rgba(255,61,90,.38) !important; }

/* ═══════════════════════════════════════════════════════
   MODAL — outside #polostudio-app, uses body-level fixed
═══════════════════════════════════════════════════════ */
.ps-modal-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(0,0,0,.75) !important;
  backdrop-filter: blur(6px) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}
.ps-modal-overlay.ps-open {
  display: flex !important;
}

.ps-modal {
  background: #111122 !important;
  border: 1px solid rgba(255,61,90,.2) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  max-width: 480px !important;
  width: 100% !important;
  position: relative !important;
  color: #eff0fb !important;
  font-family: 'DM Sans', sans-serif !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.8) !important;
  box-sizing: border-box !important;
}
.ps-modal h2 { font-size:1.25rem !important; font-weight:700 !important; margin:0 0 14px !important; color:#eff0fb !important; font-family:'DM Sans',sans-serif !important; }
.ps-modal-close {
  position: absolute !important; top: 14px !important; right: 14px !important;
  background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 50% !important; width: 32px !important; height: 32px !important;
  color: #eff0fb !important; font-size: 1rem !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: background .18s !important; line-height: 1 !important; padding: 0 !important;
}
.ps-modal-close:hover { background: rgba(255,61,90,.3) !important; border-color: #ff3d5a !important; }
.ps-modal-summary {
  background: rgba(255,255,255,.04) !important; border-radius: 9px !important;
  padding: 11px 13px !important; margin-bottom: 14px !important;
  font-size: .85rem !important; color: #9090b0 !important; line-height: 1.7 !important;
}
.ps-modal-summary strong { color: #eff0fb !important; }
.ps-delivery-note {
  padding: 11px 13px !important; border-radius: 9px !important;
  font-size: .84rem !important; line-height: 1.5 !important; margin-bottom: 14px !important;
}
.ps-delivery-instock  { background:rgba(34,197,94,.1) !important; color:#4ade80 !important; border:1px solid rgba(34,197,94,.2) !important; }
.ps-delivery-external { background:rgba(245,158,11,.1) !important; color:#fbbf24 !important; border:1px solid rgba(245,158,11,.2) !important; }
.ps-mfield { margin-bottom: 13px !important; }
.ps-mfield label { display:block !important; font-size:.79rem !important; font-weight:600 !important; color:#5a5a7a !important; margin-bottom:4px !important; }
.ps-mfield input,
.ps-mfield textarea {
  width: 100% !important; padding: 9px 11px !important;
  background: rgba(255,255,255,.05) !important; border: 1.5px solid #252538 !important;
  border-radius: 8px !important; color: #eff0fb !important;
  font-family: 'DM Sans',sans-serif !important; font-size: .9rem !important;
  outline: none !important; resize: vertical !important; box-sizing: border-box !important;
}
.ps-mfield input:focus, .ps-mfield textarea:focus { border-color: #ff3d5a !important; }
.ps-submit-btn {
  width:100% !important; padding:13px !important;
  background: linear-gradient(135deg,#ff3d5a,#ff8c1a) !important;
  border:none !important; border-radius:10px !important; color:#fff !important;
  font-family:'Bebas Neue',cursive !important; font-size:1.15rem !important;
  letter-spacing:2px !important; cursor:pointer !important; transition:.22s !important;
  box-shadow:0 6px 20px rgba(255,61,90,.22) !important; margin-top:16px !important;
  display:block !important;
}
.ps-submit-btn:hover { transform:translateY(-2px) !important; box-shadow:0 12px 28px rgba(255,61,90,.38) !important; }
.ps-submit-btn:disabled { opacity:.6 !important; cursor:not-allowed !important; transform:none !important; }
.ps-order-msg { margin-top:12px !important; font-size:.87rem !important; text-align:center !important; font-weight:600 !important; min-height:20px !important; }

/* ═══════════════════════════════════════════════════════
   TOAST — body-level, outside app
═══════════════════════════════════════════════════════ */
.ps-toast {
  position: fixed !important; bottom: 26px !important; left: 50% !important;
  transform: translateX(-50%) translateY(100px) !important;
  background: #00d4aa !important; color: #000 !important;
  padding: 10px 24px !important; border-radius: 10px !important;
  font-weight: 700 !important; font-size: .86rem !important;
  font-family: 'DM Sans',sans-serif !important;
  transition: transform .32s cubic-bezier(.34,1.56,.64,1) !important;
  z-index: 9999999 !important; pointer-events: none !important;
  box-shadow: 0 6px 22px rgba(0,212,170,.35) !important;
  white-space: nowrap !important;
}
.ps-toast.ps-show { transform: translateX(-50%) translateY(0) !important; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  #polostudio-app {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    height: auto !important; max-height: none !important;
  }
  #polostudio-app .ps-panel { max-height: 360px !important; border-radius: 0 !important; }
  #polostudio-app .ps-panel-left  { border-right: none !important; border-bottom: 1px solid #252538 !important; border-radius: 16px 16px 0 0 !important; }
  #polostudio-app .ps-panel-right { border-left:  none !important; border-top:    1px solid #252538 !important; border-radius: 0 0 16px 16px !important; }
  #polostudio-app .ps-center { min-height: 420px !important; }
}

/* ═══════════════════════════════════════════════════════
   v1.4 ADDITIONS
═══════════════════════════════════════════════════════ */

/* ── Overflow warning ── */
#polostudio-app .ps-overflow-warn {
  position: absolute !important;
  top: 54px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(255,61,90,.92) !important;
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  padding: 5px 14px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  z-index: 10 !important;
  pointer-events: none !important;
  box-shadow: 0 3px 14px rgba(255,61,90,.45) !important;
}

/* ── Add to list button ── */
#polostudio-app .ps-add-btn {
  width: 100% !important;
  padding: 10px !important;
  background: rgba(0,212,170,.12) !important;
  border: 1.5px solid rgba(0,212,170,.35) !important;
  border-radius: 9px !important;
  color: #00d4aa !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: .18s !important;
  display: block !important;
}
#polostudio-app .ps-add-btn:hover {
  background: rgba(0,212,170,.22) !important;
  border-color: #00d4aa !important;
}

/* ── Cart section ── */
#polostudio-app .ps-cart-sec { flex: 1 !important; min-height: 0 !important; }

#polostudio-app .ps-cart-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 16px !important;
  border: 1.5px dashed #252538 !important;
  border-radius: 9px !important;
  color: #3a3a55 !important;
  font-size: .8rem !important;
  text-align: center !important;
}
#polostudio-app .ps-cart-empty span { font-size: 1.5rem !important; }
#polostudio-app .ps-cart-empty p { margin: 0 !important; }

#polostudio-app .ps-cart-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

#polostudio-app .ps-cart-row {
  background: #16162a !important;
  border: 1.5px solid #252538 !important;
  border-radius: 9px !important;
  padding: 8px !important;
  display: flex !important;
  gap: 7px !important;
  align-items: flex-start !important;
  transition: border-color .18s !important;
}
#polostudio-app .ps-cart-row:hover { border-color: #6c2bd9 !important; }

#polostudio-app .ps-cart-thumb {
  width: 42px !important;
  height: 42px !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
  background: #1e1e36 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  font-size: 1.3rem !important;
}
#polostudio-app .ps-cart-thumb img { width: 100% !important; height: 100% !important; object-fit: contain !important; }

#polostudio-app .ps-cart-info { flex: 1 !important; min-width: 0 !important; }
#polostudio-app .ps-cart-name { font-size: .79rem !important; font-weight: 700 !important; color: #eff0fb !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#polostudio-app .ps-cart-sub  { font-size: .72rem !important; color: #5a5a7a !important; margin-bottom: 5px !important; }

#polostudio-app .ps-cart-controls { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; margin-bottom: 4px !important; }
#polostudio-app .ps-csize {
  background: #0f0f1a !important;
  border: 1px solid #252538 !important;
  border-radius: 5px !important;
  color: #eff0fb !important;
  font-size: .75rem !important;
  font-family: 'Space Mono', monospace !important;
  padding: 3px 5px !important;
  cursor: pointer !important;
  outline: none !important;
}
#polostudio-app .ps-cart-qty { display: flex !important; align-items: center !important; gap: 3px !important; }
#polostudio-app .ps-cqb {
  width: 20px !important; height: 20px !important;
  border-radius: 4px !important;
  background: #252538 !important;
  border: 1px solid #3a3a55 !important;
  color: #eff0fb !important;
  font-size: .85rem !important;
  cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; line-height: 1 !important; transition: .15s !important;
}
#polostudio-app .ps-cqb:hover { background: #ff3d5a !important; border-color: #ff3d5a !important; }
#polostudio-app .ps-cqn { font-family: 'Space Mono',monospace !important; font-size: .77rem !important; min-width: 18px !important; text-align: center !important; color: #eff0fb !important; }
#polostudio-app .ps-cqu { font-size: .7rem !important; color: #5a5a7a !important; }
#polostudio-app .ps-cart-price { font-family: 'Space Mono',monospace !important; font-size: .77rem !important; color: #ff8c1a !important; }

#polostudio-app .ps-cart-btns { display: flex !important; flex-direction: column !important; gap: 3px !important; flex-shrink: 0 !important; }
#polostudio-app .ps-cbtn {
  background: transparent !important;
  border: 1px solid #252538 !important;
  border-radius: 4px !important;
  color: #5a5a7a !important;
  font-size: .82rem !important;
  cursor: pointer !important;
  width: 24px !important; height: 24px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; line-height: 1 !important; transition: .15s !important;
}
#polostudio-app .ps-cdup:hover { border-color: #6c2bd9 !important; color: #6c2bd9 !important; }
#polostudio-app .ps-cdel:hover { border-color: #ff3d5a !important; color: #ff3d5a !important; }

/* Cart footer */
#polostudio-app .ps-cart-footer { margin-top: 8px !important; }
#polostudio-app .ps-cart-total-row {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  font-size: .82rem !important; color: #eff0fb !important;
  background: rgba(108,43,217,.08) !important;
  border: 1px solid rgba(108,43,217,.2) !important;
  border-radius: 8px !important; padding: 9px 12px !important; margin-bottom: 8px !important;
}
#polostudio-app .ps-cart-total-row strong {
  font-family: 'Bebas Neue',cursive !important;
  font-size: 1.25rem !important; color: #ff8c1a !important; letter-spacing: 1px !important;
}
#polostudio-app .ps-order-btn {
  width: 100% !important; padding: 11px !important;
  background: linear-gradient(135deg,#ff3d5a,#ff8c1a) !important;
  border: none !important; border-radius: 9px !important; color: #fff !important;
  font-family: 'Bebas Neue',cursive !important; font-size: 1.1rem !important;
  letter-spacing: 2px !important; cursor: pointer !important; transition: .22s !important;
  box-shadow: 0 5px 18px rgba(255,61,90,.22) !important; display: block !important;
}
#polostudio-app .ps-order-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 10px 26px rgba(255,61,90,.38) !important; }

/* ── Modal cart table ── */
.ps-modal-tbl { width: 100% !important; border-collapse: collapse !important; font-size: .82rem !important; margin-bottom: 14px !important; }
.ps-modal-tbl th { background: rgba(255,255,255,.04) !important; padding: 7px 8px !important; text-align: left !important; color: #5a5a7a !important; font-weight: 600 !important; font-size: .74rem !important; }
.ps-modal-tbl td { padding: 7px 8px !important; border-bottom: 1px solid rgba(255,255,255,.05) !important; color: #eff0fb !important; }
.ps-modal-tbl tfoot td { border-bottom: none !important; padding-top: 10px !important; color: #ff8c1a !important; font-size: .88rem !important; }


/* ═══════════════════════════════════════════════════════
   v1.5 ADDITIONS
═══════════════════════════════════════════════════════ */

/* ── Alignment grid ── */
#polostudio-app .ps-align-panel { margin-top: 4px !important; }
#polostudio-app .ps-align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 32px) !important;
  grid-template-rows: repeat(3, 32px) !important;
  gap: 4px !important;
  margin-bottom: 6px !important;
}
#polostudio-app .ps-align-btn {
  background: #16162a !important;
  border: 1.5px solid #252538 !important;
  border-radius: 6px !important;
  color: #5a5a7a !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important; height: 32px !important;
  padding: 0 !important; line-height: 1 !important;
  transition: .15s !important;
}
#polostudio-app .ps-align-btn:hover {
  border-color: #00d4aa !important;
  color: #00d4aa !important;
  background: rgba(0,212,170,.08) !important;
}
#polostudio-app .ps-align-btn:active {
  background: rgba(0,212,170,.18) !important;
  transform: scale(.93) !important;
}
#polostudio-app .ps-align-labels {
  display: flex !important;
  gap: 14px !important;
  font-size: .72rem !important;
  color: #3a3a55 !important;
}
#polostudio-app .ps-align-labels b { color: #5a5a7a !important; }

/* ═══════════════════════════════════════════════════════
   MEGTERVEZETT PÓLÓK SÁV — data-ps="cart" attribute selector
   Immunis az Elementor felülírása ellen
═══════════════════════════════════════════════════════ */

[data-ps="cart"] {
  background: #131325 !important;
  border: 1px solid #252538 !important;
  border-top: 1px solid #2e2e48 !important;
  border-radius: 0 0 16px 16px !important;
  padding: 14px 20px !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #eff0fb !important;
}
[data-ps="cart"] * { box-sizing: border-box !important; }

[data-ps="cart"] .ps-cart-bar-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
[data-ps="cart"] .ps-cart-bar-total {
  align-items: center !important;
  gap: 16px !important;
  font-size: .88rem !important;
  color: #eff0fb !important;
}
[data-ps="cart"] .ps-cart-bar-total strong {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.4rem !important;
  color: #ff8c1a !important;
  letter-spacing: 1px !important;
}

/* ── Empty state — shown only without ps-hidden ── */
[data-ps="cart"] .ps-cart-empty {
  gap: 10px !important;
  padding: 14px 20px !important;
  border: 1.5px dashed #252538 !important;
  border-radius: 9px !important;
  color: #3a3a55 !important;
  font-size: .82rem !important;
  font-family: 'DM Sans', sans-serif !important;
  align-items: center !important;
  justify-content: center !important;
}
[data-ps="cart"] .ps-cart-empty:not(.ps-hidden) { display: flex !important; }
[data-ps="cart"] .ps-cart-empty span { font-size: 1.3rem !important; display: block !important; }
[data-ps="cart"] .ps-cart-empty p { margin: 0 !important; }

/* ── Grid of cards ── */
[data-ps="cart"] .ps-cart-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* ── Individual card ── */
[data-ps="cart"] .ps-cart-row {
  background: #16162a !important;
  border: 1.5px solid #252538 !important;
  border-radius: 10px !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  transition: border-color .18s !important;
  flex: 1 1 260px !important;
  max-width: 340px !important;
}
[data-ps="cart"] .ps-cart-row:hover { border-color: #6c2bd9 !important; }

/* ── Card top row: type selector + design image ── */
[data-ps="cart"] .ps-card-top {
  display: flex !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

/* Type selector mini-grid (same style as main type grid) */
[data-ps="cart"] .ps-card-type-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 44px) !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
[data-ps="cart"] .ps-card-type-btn {
  background: #0f0f1a !important;
  border: 1.5px solid #252538 !important;
  border-radius: 6px !important;
  padding: 4px !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  font-size: .6rem !important;
  color: #5a5a7a !important;
  transition: border-color .15s, color .15s !important;
  line-height: 1.2 !important;
}
[data-ps="cart"] .ps-card-type-btn img,
[data-ps="cart"] .ps-card-type-btn .ps-type-noimg {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  border-radius: 3px !important;
  display: block !important;
}
[data-ps="cart"] .ps-card-type-btn .ps-type-noimg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #1e1e36 !important;
  font-size: .9rem !important;
}
[data-ps="cart"] .ps-card-type-btn:hover   { border-color: #ff3d5a !important; color: #ff3d5a !important; }
[data-ps="cart"] .ps-card-type-btn.ps-card-type-active {
  border-color: #ff3d5a !important;
  background: rgba(255,61,90,.1) !important;
  color: #ff3d5a !important;
}

/* Design thumbnail (separate from type) */
[data-ps="cart"] .ps-card-design {
  flex: 1 !important;
  height: 80px !important;
  border-radius: 7px !important;
  background: #1e1e36 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #252538 !important;
}
[data-ps="cart"] .ps-card-design img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
[data-ps="cart"] .ps-card-design-none {
  color: #3a3a55 !important;
  font-size: .7rem !important;
  text-align: center !important;
}

/* ── Color row ── */
[data-ps="cart"] .ps-cart-color-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  align-items: center !important;
}
[data-ps="cart"] .ps-cart-cswatch {
  width: 18px !important; height: 18px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: transform .15s, box-shadow .15s !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.4) !important;
  flex-shrink: 0 !important;
}
[data-ps="cart"] .ps-cart-cswatch:hover { transform: scale(1.25) !important; }
[data-ps="cart"] .ps-cart-cswatch-active {
  box-shadow: 0 0 0 2px #ff3d5a, 0 1px 6px rgba(0,0,0,.5) !important;
  transform: scale(1.18) !important;
}

/* ── Controls row ── */
[data-ps="cart"] .ps-cart-controls {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
[data-ps="cart"] .ps-cart-name {
  font-size: .8rem !important; font-weight: 700 !important;
  color: #eff0fb !important;
}
[data-ps="cart"] .ps-csize {
  background: #0f0f1a !important; border: 1px solid #252538 !important;
  border-radius: 5px !important; color: #eff0fb !important;
  font-size: .75rem !important; font-family: 'Space Mono',monospace !important;
  padding: 3px 6px !important; cursor: pointer !important; outline: none !important;
}
[data-ps="cart"] .ps-cart-qty { display: flex !important; align-items: center !important; gap: 3px !important; }
[data-ps="cart"] .ps-cqb {
  width: 20px !important; height: 20px !important; border-radius: 4px !important;
  background: #252538 !important; border: 1px solid #3a3a55 !important;
  color: #eff0fb !important; font-size: .85rem !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; line-height: 1 !important; transition: .15s !important;
}
[data-ps="cart"] .ps-cqb:hover { background: #ff3d5a !important; border-color: #ff3d5a !important; }
[data-ps="cart"] .ps-cqn { font-family: 'Space Mono',monospace !important; font-size: .77rem !important; min-width: 18px !important; text-align: center !important; color: #eff0fb !important; }
[data-ps="cart"] .ps-cqu { font-size: .7rem !important; color: #5a5a7a !important; }
[data-ps="cart"] .ps-cart-price { font-family: 'Space Mono',monospace !important; font-size: .78rem !important; color: #ff8c1a !important; font-weight: 700 !important; }

/* ── Action buttons ── */
[data-ps="cart"] .ps-cart-btns { display: flex !important; gap: 4px !important; justify-content: flex-end !important; }
[data-ps="cart"] .ps-cbtn {
  background: transparent !important; border: 1px solid #252538 !important;
  border-radius: 4px !important; color: #5a5a7a !important;
  font-size: .82rem !important; cursor: pointer !important;
  width: 26px !important; height: 26px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; line-height: 1 !important; transition: .15s !important;
}
[data-ps="cart"] .ps-cdup:hover { border-color: #6c2bd9 !important; color: #6c2bd9 !important; }
[data-ps="cart"] .ps-cdel:hover { border-color: #ff3d5a !important; color: #ff3d5a !important; }

/* ── Order button in cart ── */
[data-ps="cart"] .ps-order-btn {
  padding: 9px 20px !important;
  width: auto !important;
  display: inline-flex !important;
  font-size: 1rem !important;
  background: linear-gradient(135deg,#ff3d5a,#ff8c1a) !important;
  border: none !important; border-radius: 9px !important; color: #fff !important;
  font-family: 'Bebas Neue',cursive !important; letter-spacing: 2px !important;
  cursor: pointer !important; transition: .22s !important;
  box-shadow: 0 5px 18px rgba(255,61,90,.22) !important;
  align-items: center !important;
}
[data-ps="cart"] .ps-order-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 26px rgba(255,61,90,.38) !important;
}

/* ── ps-hidden wins everything ── */
[data-ps="cart"] .ps-hidden { display: none !important; }
[data-ps="cart"] .ps-cart-bar-total:not(.ps-hidden) { display: flex !important; }

/* ── Dark swatch border fix (4. kérés) ── */
/* JS kezeli inline style-lal, de extra CSS fallback dark swatchokhoz */
#polostudio-app .ps-color-swatch[style*="1C1C1E"],
#polostudio-app .ps-color-swatch[style*="000000"],
#polostudio-app .ps-color-swatch[style*="1a1a1a"],
#polostudio-app .ps-color-swatch[style*="111111"],
#polostudio-app .ps-color-swatch[style*="2C2C2E"] {
  outline: 1.5px solid rgba(255,255,255,0.28) !important;
  outline-offset: 1px !important;
}

/* Remove old cart styles from right panel (no longer needed) */
#polostudio-app .ps-cart-sec { display: none !important; }
#polostudio-app .ps-cart-footer { display: none !important; }

/* ── Editor 3-col row (inner wrapper) ── */
#polostudio-app > .ps-editor-row {
  display: grid !important;
  grid-template-columns: 272px 1fr 340px !important;
  height: auto !important;
  min-height: 0 !important;
  flex-shrink: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
}

/* ── ps-hidden utility — highest specificity ── */
.ps-hidden,
.ps-cart-bar .ps-hidden,
#polostudio-app .ps-hidden,
.ps-cart-bar-total.ps-hidden,
.ps-cart-bar .ps-cart-empty.ps-hidden {
  display: none !important;
}

/* Cart-bar-total: only shown when cart has items */
.ps-cart-bar-total:not(.ps-hidden) { display: flex !important; }

/* ── Cart item type badge ── */
.ps-cart-bar .ps-cart-type-badge {
  position: absolute !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px 0 6px 0 !important;
  background: #0f0f1a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.ps-cart-bar .ps-cart-type-badge img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.ps-cart-bar .ps-cart-thumb-wrap {
  position: relative !important;
  width: 52px !important;
  height: 52px !important;
  flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   v1.5.5 ADDITIONS
═══════════════════════════════════════════════════════ */

/* ── Cart preview: shirt + design overlay ── */
[data-ps="cart"] .ps-card-preview-wrap {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
[data-ps="cart"] .ps-card-preview-shirt {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
[data-ps="cart"] .ps-card-preview-design {
  position: absolute !important;
  top: 15% !important;
  left: 20% !important;
  width: 60% !important;
  height: 65% !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

/* ── INLINE CHECKOUT ── */
.ps-checkout {
  font-family: 'DM Sans', sans-serif !important;
  background: #08080f !important;
  border-radius: 16px !important;
  margin: 24px auto !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.6) !important;
  overflow: hidden !important;
  color: #eff0fb !important;
}
.ps-checkout.ps-hidden { display: none !important; }

.ps-co-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px 28px !important;
  background: linear-gradient(135deg, #0f0f1a, #16162a) !important;
  border-bottom: 1px solid #252538 !important;
}
.ps-co-back {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid #252538 !important;
  border-radius: 8px !important;
  color: #eff0fb !important;
  padding: 8px 16px !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: .18s !important;
  font-family: 'DM Sans', sans-serif !important;
  white-space: nowrap !important;
}
.ps-co-back:hover { background: rgba(255,255,255,.12) !important; border-color: #5a5a7a !important; }
.ps-co-title {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.5rem !important;
  letter-spacing: 2px !important;
  background: linear-gradient(120deg, #ff8c1a, #ff3d5a) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.ps-co-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  min-height: 500px !important;
}

/* Summary column */
.ps-co-summary {
  padding: 28px !important;
  border-right: 1px solid #252538 !important;
  background: #0f0f1a !important;
}
.ps-co-section-title {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1rem !important;
  letter-spacing: 2px !important;
  color: #5a5a7a !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
}
.ps-co-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #1e1e36 !important;
}
.ps-co-item:last-of-type { border-bottom: none !important; }
.ps-co-item-img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 8px !important;
  background: #1e1e36 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ps-co-thumb-wrap {
  position: relative !important;
  width: 60px !important;
  height: 60px !important;
}
.ps-co-thumb-shirt {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.ps-co-thumb-design {
  position: absolute !important;
  top: 15% !important; left: 20% !important;
  width: 60% !important; height: 65% !important;
  object-fit: contain !important;
  pointer-events: none !important;
}
.ps-co-item-info { flex: 1 !important; }
.ps-co-item-title { font-size: .9rem !important; font-weight: 700 !important; color: #eff0fb !important; margin-bottom: 3px !important; }
.ps-co-item-sub   { font-size: .82rem !important; color: #5a5a7a !important; }
.ps-co-item-print { font-size: .75rem !important; color: #3a3a55 !important; margin-top: 2px !important; }
.ps-co-item-price { font-family: 'Space Mono', monospace !important; font-size: .9rem !important; font-weight: 700 !important; color: #ff8c1a !important; white-space: nowrap !important; }

.ps-co-delivery { padding: 10px 14px !important; border-radius: 8px !important; font-size: .83rem !important; line-height: 1.5 !important; margin: 14px 0 !important; }
.ps-co-delivery-ok  { background: rgba(34,197,94,.1) !important; color: #4ade80 !important; border: 1px solid rgba(34,197,94,.2) !important; }
.ps-co-delivery-ext { background: rgba(245,158,11,.1) !important; color: #fbbf24 !important; border: 1px solid rgba(245,158,11,.2) !important; }

.ps-co-total-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 0 0 !important;
  border-top: 2px solid #252538 !important;
  font-size: .88rem !important;
  color: #9090b0 !important;
  margin-top: 8px !important;
}
.ps-co-grand {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 2rem !important;
  color: #ff8c1a !important;
  letter-spacing: 1px !important;
}

/* Form column */
.ps-co-form-wrap {
  padding: 28px !important;
  background: #0d0d1a !important;
}
.ps-co-field { margin-bottom: 16px !important; }
.ps-co-field label {
  display: block !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: #5a5a7a !important;
  margin-bottom: 6px !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}
.ps-co-field input,
.ps-co-field textarea {
  width: 100% !important;
  padding: 11px 14px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid #252538 !important;
  border-radius: 9px !important;
  color: #eff0fb !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: .92rem !important;
  outline: none !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  transition: border-color .18s !important;
}
.ps-co-field input:focus,
.ps-co-field textarea:focus { border-color: #ff3d5a !important; box-shadow: 0 0 0 3px rgba(255,61,90,.1) !important; }

.ps-co-consent {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin-bottom: 20px !important;
  font-size: .8rem !important;
  color: #5a5a7a !important;
  line-height: 1.5 !important;
}
.ps-co-consent input[type=checkbox] { margin-top: 2px !important; flex-shrink: 0 !important; width: 16px !important; height: 16px !important; cursor: pointer !important; }

.ps-co-submit {
  width: 100% !important;
  padding: 15px !important;
  background: linear-gradient(135deg, #ff3d5a, #ff8c1a) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #fff !important;
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.3rem !important;
  letter-spacing: 2px !important;
  cursor: pointer !important;
  transition: .22s !important;
  box-shadow: 0 8px 24px rgba(255,61,90,.3) !important;
  display: block !important;
}
.ps-co-submit:hover { transform: translateY(-2px) !important; box-shadow: 0 14px 32px rgba(255,61,90,.45) !important; }
.ps-co-submit:disabled { opacity: .6 !important; cursor: not-allowed !important; transform: none !important; }

.ps-order-msg { margin-top: 12px !important; font-size: .88rem !important; text-align: center !important; font-weight: 600 !important; min-height: 20px !important; }

@media (max-width: 700px) {
  .ps-co-body { grid-template-columns: 1fr !important; }
  .ps-co-summary { border-right: none !important; border-bottom: 1px solid #252538 !important; }
}

/* ── FIX: Dark swatches visible in cart (black doesn't blend in) ── */
[data-ps="cart"] .ps-cart-cswatch[style*="#1C1C1E"],
[data-ps="cart"] .ps-cart-cswatch[style*="#1c1c1e"],
[data-ps="cart"] .ps-cart-cswatch[style*="#000000"],
[data-ps="cart"] .ps-cart-cswatch[style*="#0a0a0a"],
[data-ps="cart"] .ps-cart-cswatch[style*="#111111"],
[data-ps="cart"] .ps-cart-cswatch[style*="#222222"],
[data-ps="cart"] .ps-cart-cswatch[style*="#2C2C2E"],
[data-ps="cart"] .ps-cart-cswatch[style*="#2c2c2e"],
[data-ps="cart"] .ps-cart-cswatch[style*="#0A2342"],
[data-ps="cart"] .ps-cart-cswatch[style*="#0a2342"] {
  outline: 2px solid rgba(255,255,255,0.55) !important;
  outline-offset: 2px !important;
}

/* ── FIX 2: Cart card design preview — bigger, fills the space ── */
[data-ps="cart"] .ps-card-design {
  flex: 1 !important;
  height: 110px !important;
  min-height: 110px !important;
}
[data-ps="cart"] .ps-card-preview-wrap {
  width: 100% !important;
  height: 100% !important;
}
[data-ps="cart"] .ps-card-preview-shirt {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
[data-ps="cart"] .ps-card-preview-design {
  position: absolute !important;
  top: 12% !important;
  left: 18% !important;
  width: 64% !important;
  height: 68% !important;
  object-fit: contain !important;
}

/* Make the card taller to show preview properly */
[data-ps="cart"] .ps-cart-row {
  min-height: 180px !important;
}
[data-ps="cart"] .ps-card-top {
  min-height: 110px !important;
}

/* ═══════════════════════════════════════════
   v1.6.0 — CHECKOUT ADDITIONS
═══════════════════════════════════════════ */

/* Steps indicator */
.ps-co-steps { display: flex !important; align-items: center !important; gap: 6px !important; font-size: .82rem !important; }
.ps-co-step { color: rgba(255,255,255,.4) !important; }
.ps-co-step-active { color: #fff !important; font-weight: 700 !important; }
.ps-co-step-sep { color: rgba(255,255,255,.3) !important; }

/* Field rows */
.ps-co-field-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }

/* Billing header */
.ps-co-billing-header { display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 20px 0 12px !important; flex-wrap: wrap !important; gap: 8px !important; }
.ps-co-billing-header .ps-co-section-title { margin: 0 !important; }
.ps-co-same-check { display: flex !important; align-items: center !important; gap: 7px !important; font-size: .82rem !important; color: #9090b0 !important; cursor: pointer !important; }
.ps-co-same-check input { width: 15px !important; height: 15px !important; cursor: pointer !important; }

/* Shipping/Payment option cards */
.ps-co-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border: 1.5px solid #252538 !important;
  border-radius: 9px !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  transition: border-color .18s, background .18s !important;
  background: rgba(255,255,255,.03) !important;
}
.ps-co-option:hover { border-color: #5a5a7a !important; }
.ps-co-option:has(input:checked) { border-color: #ff3d5a !important; background: rgba(255,61,90,.07) !important; }
.ps-co-option input[type=radio] { width: 16px !important; height: 16px !important; flex-shrink: 0 !important; cursor: pointer !important; accent-color: #ff3d5a !important; }
.ps-co-option-info { flex: 1 !important; }
.ps-co-option-label { display: block !important; font-size: .88rem !important; font-weight: 700 !important; color: #eff0fb !important; }
.ps-co-option-desc  { display: block !important; font-size: .77rem !important; color: #5a5a7a !important; margin-top: 1px !important; }
.ps-co-option-price { font-family: 'Space Mono',monospace !important; font-size: .82rem !important; color: #ff8c1a !important; white-space: nowrap !important; font-weight: 700 !important; }

/* Stripe card element */
.ps-stripe-card-el {
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid #252538 !important;
  border-radius: 9px !important;
  padding: 12px 14px !important;
  transition: border-color .18s !important;
}
.ps-stripe-card-el.StripeElement--focus { border-color: #ff3d5a !important; }
.ps-stripe-error { color: #ff3d5a !important; font-size: .82rem !important; margin-top: 6px !important; min-height: 18px !important; }

/* Submit spinner */
.ps-co-submit-spinner {
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
}
.ps-spinner {
  width: 20px !important; height: 20px !important;
  animation: ps-spin 1s linear infinite !important;
  flex-shrink: 0 !important;
}

/* Success screen */
.ps-co-success {
  padding: 60px 40px !important;
  text-align: center !important;
  background: #0d0d1a !important;
}
.ps-co-success.ps-hidden { display: none !important; }
.ps-co-success-icon { font-size: 4rem !important; margin-bottom: 16px !important; display: block !important; }
.ps-co-success h2 { font-size: 1.6rem !important; font-weight: 700 !important; color: #eff0fb !important; margin: 0 0 10px !important; }
.ps-co-success-sub { color: #5a5a7a !important; font-size: .92rem !important; line-height: 1.6 !important; margin: 0 0 28px !important; }
.ps-co-success-details {
  display: inline-block !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid #252538 !important;
  border-radius: 12px !important;
  padding: 20px 28px !important;
  margin-bottom: 28px !important;
  text-align: left !important;
  min-width: 280px !important;
}
.ps-co-succ-row { display: flex !important; justify-content: space-between !important; gap: 20px !important; padding: 6px 0 !important; border-bottom: 1px solid #1e1e36 !important; font-size: .88rem !important; }
.ps-co-succ-row:last-child { border-bottom: none !important; }
.ps-co-succ-row span { color: #5a5a7a !important; }
.ps-co-succ-row strong { color: #eff0fb !important; }
.ps-co-back-btn {
  padding: 12px 28px !important;
  background: linear-gradient(135deg,#ff3d5a,#ff8c1a) !important;
  border: none !important; border-radius: 10px !important; color: #fff !important;
  font-family: 'Bebas Neue',cursive !important; font-size: 1.15rem !important;
  letter-spacing: 2px !important; cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(255,61,90,.25) !important;
  transition: .22s !important;
}
.ps-co-back-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 12px 28px rgba(255,61,90,.38) !important; }

/* ── Submit button loading state ── */
.ps-co-submit[data-loading="1"] .ps-co-submit-text    { display: none !important; }
.ps-co-submit[data-loading="1"] .ps-co-submit-spinner { display: inline-flex !important; }
