@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700&display=swap');

/* ── VARIABLES & BASE ── */
#ps-root {
  font-family: 'Heebo', sans-serif;
  direction: rtl;
  color: #2a2420;
  --gold:   #c9a96e;
  --gold-l: #e8d5b0;
  --gold-d: #9a7040;
  --char:   #2a2420;
  --gray:   #8c8078;
  --border: #e8e2da;
  --warm:   #faf8f5;
}
#ps-root, #ps-root * { box-sizing: border-box; }

/* ── LAYOUT ── */
#ps-root .ps-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 24px;
  align-items: start;
}
#ps-root .ps-panel {
  background: #fff;
  border: 1px solid var(--border);
  padding: 20px 16px;
  box-shadow: 0 2px 20px rgba(42,36,32,.06);
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--gold-l) transparent;
}
#ps-root .ps-panel::-webkit-scrollbar { width: 4px; }
#ps-root .ps-panel::-webkit-scrollbar-thumb { background: var(--gold-l); border-radius: 2px; }
#ps-root .ps-preview-col { position: sticky; top: 24px; }

/* ── TABLET ── */
@media (max-width: 900px) {
  #ps-root .ps-layout { grid-template-columns: 260px 1fr; gap: 16px; }
  #ps-root .ps-panel  { padding: 16px 12px; }
  .ps-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── MOBILE ── */
@media (max-width: 640px) {
  #ps-root .ps-layout { grid-template-columns: 1fr; gap: 0; }
  #ps-root .ps-preview-col { position: static; order: -1; padding: 0; margin-bottom: 16px; }
  #ps-root .ps-panel {
    max-height: none; overflow-y: visible; overflow-x: visible;
    border-radius: 0; border-left: none; border-right: none;
    box-shadow: none; padding: 16px 14px;
  }
  .ps-cbox     { min-height: 220px !important; aspect-ratio: 4/3 !important; }
  .ps-ruler-bar { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 12px; }
  .ps-ruler-inputs { width: 100%; justify-content: flex-start; }
  .ps-ruler-input  { flex: 1; }
  .ps-strip  { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .ps-chip   { white-space: nowrap; flex-shrink: 0; }
  .ps-frames { gap: 5px; }
  .ps-fbtn   { padding: 5px 7px; font-size: 10px; }
  .ps-szb    { padding: 4px 8px; font-size: 11px; }
  .ps-grid   { grid-template-columns: repeat(3, 1fr) !important; }
  .ps-grid-wrap { max-height: 180px; }
  .ps-size-float-btn { padding: 5px 10px; font-size: 11px; }
  .ps-edit-btn, .ps-done-btn { padding: 5px 10px; font-size: 11px; }
  .ps-section { margin-bottom: 16px; padding-bottom: 16px; }
}

/* ── CANVAS BOX ── */
.ps-cbox {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/10;
  min-height: 320px;
  background: #c8beb4;
  box-shadow: 0 4px 20px rgba(42,36,32,.12);
  user-select: none;
}
.ps-cbox-inner  { position: absolute; inset: 0; }
#ps-canvas      { width: 100%; height: 100%; display: block; cursor: grab; }
#ps-canvas.dragging   { cursor: grabbing; }
#ps-canvas.edit-mode  { cursor: crosshair; }

/* ── SECTIONS ── */
.ps-section { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.ps-section:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.ps-step   { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 5px; }
.ps-stitle { font-size: 15px; font-weight: 600; margin-bottom: 11px; }

/* ── UPLOAD ── */
.ps-upzone {
  border: 2px dashed var(--gold-l); border-radius: 8px;
  padding: 22px 14px; text-align: center; cursor: pointer;
  background: var(--warm); position: relative; transition: all .2s;
}
.ps-upzone:hover, .ps-upzone.drag { border-color: var(--gold); background: #fdf9f3; }
.ps-upzone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.ps-up-icon { font-size: 24px; margin-bottom: 5px; }
.ps-up-txt  { font-size: 13px; color: var(--gray); }
.ps-up-txt strong { color: var(--char); }
.ps-up-hint { font-size: 11px; color: #bbb; margin-top: 3px; }

.ps-thumb { display: none; align-items: center; gap: 10px; padding: 9px; background: var(--warm); border-radius: 8px; border: 1px solid var(--gold-l); margin-top: 8px; }
.ps-thumb.show { display: flex; }
.ps-thumb img { width: 48px; height: 36px; object-fit: cover; border-radius: 4px; }
.ps-thumb-name { font-size: 12px; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ps-detect-row { display: flex; align-items: center; gap: 7px; margin-top: 8px; font-size: 11px; color: var(--gray); }
.ps-dot { width: 7px; height: 7px; border-radius: 50%; background: #ddd; flex-shrink: 0; transition: background .3s; }
.ps-dot.ok   { background: #5aad6e; }
.ps-dot.spin { background: var(--gold); animation: ps-pulse .8s ease-in-out infinite; }
@keyframes ps-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

/* ── COLORS ── */
.ps-colors { display: flex; gap: 7px; flex-wrap: wrap; }
.ps-clr {
  width: 28px; height: 28px; border-radius: 50%;
  border: 3px solid transparent; cursor: pointer; padding: 0;
  transition: all .15s; box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
.ps-clr:hover  { transform: scale(1.12); }
.ps-clr.active { border-color: var(--gold); }

/* ── SELECTED PRODUCT ── */
.ps-sel-strip { display: none; align-items: center; gap: 9px; padding: 9px; background: #fdf9f3; border-radius: 8px; border: 1px solid var(--gold-l); margin-bottom: 9px; }
.ps-sel-strip.show { display: flex; }
.ps-sel-strip img  { width: 42px; height: 42px; object-fit: cover; border-radius: 5px; }
.ps-sel-info { flex: 1; min-width: 0; }
.ps-sel-name { font-size: 12px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── SEARCH ── */
.ps-search-wrap { position: relative; margin-bottom: 9px; }
.ps-search-wrap input {
  width: 100%; padding: 8px 32px 8px 10px;
  border: 1.5px solid var(--border); border-radius: 8px;
  font-size: 13px; font-family: inherit; outline: none;
  transition: border .2s; color: var(--char);
}
.ps-search-wrap input:focus { border-color: var(--gold); }
.ps-search-ico { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: 13px; pointer-events: none; opacity: .45; }
.ps-search-x   { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 12px; color: var(--gray); display: none; padding: 2px 5px; }
.ps-search-x.show { display: block; }

/* ── PRODUCT GRID ── */
.ps-grid-wrap { max-height: 230px; overflow-y: auto; border-radius: 8px; border: 1px solid var(--border); background: var(--warm); }
.ps-grid-wrap::-webkit-scrollbar { width: 4px; }
.ps-grid-wrap::-webkit-scrollbar-thumb { background: var(--gold-l); border-radius: 2px; }
.ps-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.ps-grid-msg { padding: 20px; text-align: center; font-size: 13px; color: var(--gray); }
.ps-spin { display: inline-block; width: 13px; height: 13px; border: 2px solid var(--gold-l); border-top-color: var(--gold); border-radius: 50%; animation: ps-spin .7s linear infinite; vertical-align: middle; margin-right: 4px; }
@keyframes ps-spin { to { transform: rotate(360deg); } }

.ps-pthumb { aspect-ratio: 1; overflow: hidden; cursor: pointer; border: 2.5px solid transparent; position: relative; background: #ede8e2; transition: border-color .18s; }
.ps-pthumb img  { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.ps-pthumb:hover img { transform: scale(1.07); }
.ps-pthumb.active { border-color: var(--gold); }
.ps-pthumb-lbl { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,.7)); color: #fff; font-size: 10px; padding: 8px 4px 3px; opacity: 0; transition: opacity .2s; text-align: center; }
.ps-pthumb:hover .ps-pthumb-lbl, .ps-pthumb.active .ps-pthumb-lbl { opacity: 1; }

/* ── FRAMES ── */
.ps-frames { display: flex; gap: 7px; flex-wrap: wrap; }
.ps-fbtn {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  cursor: pointer; padding: 7px 9px; border-radius: 8px;
  border: 2px solid var(--border); font-size: 11px; color: var(--gray);
  background: #fff; font-family: inherit; transition: all .18s;
}
.ps-fbtn:hover  { border-color: var(--gold-l); color: var(--char); }
.ps-fbtn.active { border-color: var(--gold); color: var(--char); background: #fdf9f3; font-weight: 600; }
.ps-ficon { width: 34px; height: 34px; border-radius: 3px; display: block; }

/* ── SIZES ── */
.ps-sizes { display: flex; gap: 6px; flex-wrap: wrap; }
.ps-szb {
  padding: 5px 11px; font-size: 12px;
  border: 1.5px solid var(--border); border-radius: 20px;
  cursor: pointer; background: #fff; color: var(--gray);
  font-family: inherit; transition: all .15s;
}
.ps-szb:hover  { border-color: var(--gold); color: var(--char); }
.ps-szb.active { background: var(--gold); color: #fff; border-color: var(--gold); font-weight: 600; }

/* ── ACTIONS ── */
.ps-actions { padding-top: 4px; }
.ps-btn {
  width: 100%; padding: 13px; font-family: inherit; font-size: 14px; font-weight: 600;
  border: none; border-radius: 8px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  margin-top: 8px; transition: all .2s;
}
.ps-btn-gold    { background: #181B20; color: #fff; box-shadow: 0 3px 12px rgba(201,169,110,.3); }
.ps-btn-gold:hover { background: #2a2f38; }
.ps-btn-gold:disabled { opacity: .6; cursor: not-allowed; }
.ps-btn-outline { background: #fff; color: var(--char); border: 1.5px solid var(--border); }
.ps-btn-outline:hover { border-color: var(--gold); color: var(--gold-d); }
.ps-link { background: none; border: none; color: var(--gold); font-size: 12px; cursor: pointer; text-decoration: underline; padding: 0; font-family: inherit; }

/* ── OVERLAY ── */
.ps-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(42,36,32,.44); backdrop-filter: blur(3px); color: #fff;
  pointer-events: all; transition: opacity .3s; z-index: 4;
}
.ps-overlay.hidden { opacity: 0; pointer-events: none; }
.ps-overlay-inner  { text-align: center; font-size: 14px; font-family: 'Heebo', sans-serif; line-height: 1.6; }
.ps-upload-cta {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--gold); color: #fff; border: none;
  padding: 11px 22px; border-radius: 25px;
  font-size: 15px; font-weight: 600; font-family: 'Heebo', sans-serif;
  cursor: pointer; transition: background .2s; margin-bottom: 4px;
}
.ps-upload-cta:hover { background: var(--gold-d); }

/* ── TOP-RIGHT BUTTONS ── */
.ps-top-right-btns {
  position: absolute; top: 12px; right: 12px; z-index: 20;
  display: flex; align-items: center; gap: 6px;
}
.ps-change-photo-btn {
  background: rgba(42,36,32,.78); color: #fff; border: none; border-radius: 20px;
  padding: 6px 13px; font-size: 12px; font-family: 'Heebo', sans-serif;
  cursor: pointer; backdrop-filter: blur(6px); transition: background .2s;
}
.ps-change-photo-btn:hover { background: rgba(42,36,32,.96); }
.ps-edit-btn {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(42,36,32,.75); color: #fff; border: none; border-radius: 20px;
  padding: 6px 13px; font-size: 12px; font-family: 'Heebo', sans-serif;
  cursor: pointer; backdrop-filter: blur(6px); transition: background .2s;
}
.ps-edit-btn:hover { background: rgba(42,36,32,.95); }
.ps-done-btn {
  display: inline-flex; align-items: center; gap: 5px;
  background: #5aad6e; color: #fff; border: none; border-radius: 20px;
  padding: 6px 13px; font-size: 12px; font-family: 'Heebo', sans-serif;
  cursor: pointer; transition: background .2s;
}
.ps-done-btn:hover { background: #4a9460; }

/* ── INLINE RULER ── */
.ps-ruler-inline {
  position: absolute; top: 48px; right: 12px; z-index: 20;
  display: flex; align-items: center; gap: 6px; direction: rtl;
  background: rgba(42,36,32,.82); backdrop-filter: blur(6px);
  border-radius: 20px; padding: 5px 10px 5px 6px;
}
.ps-ruler-inline-label { font-size: 11px; color: rgba(255,255,255,.85); font-family: 'Heebo', sans-serif; white-space: nowrap; }
.ps-ruler-inline-input {
  width: 54px; padding: 3px 6px; border-radius: 10px; border: none;
  background: rgba(255,255,255,.18); color: #fff;
  font-size: 12px; font-family: 'Heebo', sans-serif; text-align: center; outline: none;
}
.ps-ruler-inline-input::placeholder { color: rgba(255,255,255,.5); }
.ps-ruler-inline-input:focus { background: rgba(255,255,255,.28); }
.ps-ruler-inline-confirm {
  width: 22px; height: 22px; border-radius: 50%; border: none;
  background: var(--gold); color: #fff; font-size: 13px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; padding: 0;
  flex-shrink: 0; transition: background .2s;
}
.ps-ruler-inline-confirm:hover { background: var(--gold-d); }

/* ── PASSE-PARTOUT ── */
.ps-pp-row { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.ps-pp-toggle-wrap { display: flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.ps-pp-checkbox { display: none; }
.ps-pp-slider {
  width: 38px; height: 22px; background: var(--border); border-radius: 11px;
  position: relative; flex-shrink: 0; transition: background .2s;
}
.ps-pp-slider::after {
  content: ''; position: absolute; width: 16px; height: 16px; background: #fff;
  border-radius: 50%; top: 3px; left: 3px; transition: transform .2s;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.ps-pp-checkbox:checked + .ps-pp-slider { background: var(--gold); }
.ps-pp-checkbox:checked + .ps-pp-slider::after { transform: translateX(16px); }
.ps-pp-label { font-size: 13px; color: var(--char); }
.ps-pp-sizes { display: flex; gap: 8px; margin-top: 10px; }
.ps-pp-btn {
  padding: 5px 14px; border-radius: 20px; border: 1.5px solid var(--border);
  font-size: 12px; font-family: inherit; cursor: pointer;
  background: #fff; color: var(--gray); transition: all .15s;
}
.ps-pp-btn:hover  { border-color: var(--gold); color: var(--char); }
.ps-pp-btn.active { background: var(--gold); color: #fff; border-color: var(--gold); font-weight: 600; }

/* ── WALL SIZE INPUTS ── */
.ps-wall-size { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.ps-wall-size-label  { font-size: 11px; color: var(--gray); margin-bottom: 8px; letter-spacing: .5px; }
.ps-wall-size-inputs { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ps-wall-size-field  { display: flex; align-items: center; gap: 4px; }
.ps-wall-size-field label { font-size: 11px; color: var(--gray); }
.ps-wall-size-field input {
  width: 64px; padding: 5px 7px; border: 1.5px solid var(--border); border-radius: 7px;
  font-size: 12px; font-family: inherit; color: var(--char); outline: none;
  text-align: center; transition: border .2s;
}
.ps-wall-size-field input:focus { border-color: var(--gold); }
.ps-wall-size-field span { font-size: 11px; color: var(--gray); }
.ps-wall-size-sep { font-size: 14px; color: var(--gray); padding: 0 2px; }
.ps-wall-size-apply {
  padding: 5px 12px; background: var(--gold); color: #fff; border: none;
  border-radius: 7px; font-size: 12px; font-family: inherit; font-weight: 600;
  cursor: pointer; transition: background .2s; white-space: nowrap;
}
.ps-wall-size-apply:hover { background: var(--gold-d); }

/* ── SIZE FLOAT ── */
.ps-size-float { position: absolute; top: 12px; left: 12px; z-index: 20; }
.ps-size-float-btn {
  display: inline-flex; align-items: center; gap: 6px; direction: rtl;
  background: rgba(42,36,32,.82); color: #fff; border: none; border-radius: 20px;
  padding: 7px 14px; font-size: 13px; font-family: 'Heebo', sans-serif;
  cursor: pointer; transition: background .2s; backdrop-filter: blur(6px);
}
.ps-size-float-btn:hover { background: rgba(42,36,32,.96); }
.ps-size-float-arrow { font-size: 10px; transition: transform .2s; display: inline-block; }
.ps-size-float-arrow.open { transform: rotate(180deg); }
.ps-size-dropdown {
  position: fixed; background: #fff; border: 1px solid var(--border);
  border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.14);
  min-width: 170px; display: none; z-index: 9999; overflow: hidden;
}
.ps-size-dropdown.open { display: block; }
.ps-size-dd-item {
  display: block; width: 100%; padding: 9px 16px; font-size: 13px;
  font-family: 'Heebo', sans-serif; color: var(--char); background: none; border: none;
  cursor: pointer; text-align: right; transition: background .15s; direction: rtl;
}
.ps-size-dd-item:hover  { background: var(--warm); }
.ps-size-dd-item.active { background: #fdf9f3; color: var(--gold-d); font-weight: 600; }

/* ── DRAG HINT ── */
.ps-drag-hint-overlay {
  position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
  background: rgba(42,36,32,.7); color: #fff; font-size: 12px; font-family: 'Heebo', sans-serif;
  padding: 7px 16px; border-radius: 20px; pointer-events: none; white-space: nowrap;
  backdrop-filter: blur(4px); transition: opacity .5s; z-index: 5;
}
.ps-drag-hint-overlay.hidden { opacity: 0; }

/* ── RULER HINT BUBBLE ── */
.ps-ruler-hint-overlay {
  position: absolute; top: 12px; left: 50%; transform: translateX(-50%);
  background: rgba(58,143,212,.85); color: #fff; font-size: 12px; font-family: 'Heebo', sans-serif;
  padding: 7px 16px; border-radius: 20px; pointer-events: none; white-space: nowrap;
  backdrop-filter: blur(4px); transition: opacity .6s; z-index: 6;
}
.ps-ruler-hint-overlay.hidden { opacity: 0; }

/* ── EDIT HINT ── */
.ps-edit-hint {
  position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
  background: rgba(42,36,32,.7); color: #fff; font-size: 12px; font-family: 'Heebo', sans-serif;
  padding: 7px 16px; border-radius: 20px; pointer-events: none; white-space: nowrap;
  backdrop-filter: blur(4px); z-index: 5;
}

/* ── DRAG INDICATOR ── */
.ps-drag-indicator {
  position: absolute; bottom: 44px; left: 50%; transform: translateX(-50%);
  background: rgba(42,36,32,.65); color: #fff; font-size: 11px; font-family: 'Heebo', sans-serif;
  padding: 5px 12px; border-radius: 16px;
  display: flex; align-items: center; gap: 5px;
  pointer-events: none; white-space: nowrap;
  backdrop-filter: blur(4px); z-index: 5;
  animation: ps-pulse 2s ease-in-out infinite;
}

/* ── VP MARKER ── */
.ps-vpmark {
  position: absolute; width: 10px; height: 10px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.7); background: rgba(201,169,110,.85);
  transform: translate(-50%, -50%); pointer-events: none; z-index: 3;
}

/* ── BADGE ── */
.ps-badge {
  position: absolute; bottom: 10px; right: 10px;
  background: rgba(42,36,32,.75); color: #f5f0eb;
  padding: 4px 12px; border-radius: 14px; font-size: 12px;
  font-family: 'Heebo', sans-serif; z-index: 6;
}

/* ── RULER BAR ── */
.ps-ruler-bar {
  margin-bottom: 8px; background: #fff; border: 1px solid var(--border);
  border-radius: 10px; padding: 11px 14px;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.ps-ruler-icon   { font-size: 18px; flex-shrink: 0; }
.ps-ruler-text   { font-size: 12px; color: var(--gray); flex: 1; min-width: 140px; line-height: 1.4; }
.ps-ruler-inputs { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.ps-ruler-input  {
  width: 110px; padding: 7px 10px; border: 1.5px solid var(--border); border-radius: 7px;
  font-size: 13px; font-family: inherit; outline: none; text-align: center; color: var(--char);
  transition: border .2s;
}
.ps-ruler-input:focus { border-color: var(--gold); }
.ps-ruler-confirm {
  padding: 7px 14px; background: var(--gold); color: #fff; border: none; border-radius: 7px;
  font-size: 13px; font-family: inherit; font-weight: 600; cursor: pointer;
  transition: background .2s; white-space: nowrap;
}
.ps-ruler-confirm:hover { background: var(--gold-d); }
.ps-ruler-reset {
  padding: 7px 10px; background: none; color: var(--gray);
  border: 1.5px solid var(--border); border-radius: 7px; font-size: 12px;
  cursor: pointer; transition: all .2s;
}
.ps-ruler-reset:hover { border-color: var(--gold); color: var(--gold-d); }
.ps-ruler-hint { width: 100%; font-size: 11px; color: var(--gold-d); font-weight: 600; display: none; margin-top: 2px; }
.ps-ruler-hint.show { display: block; }

/* ── INFO STRIP ── */
.ps-strip {
  display: flex; flex-direction: row; align-items: center;
  margin-top: 10px; gap: 0;
  background: #fff; border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
}
.ps-chip {
  display: flex; align-items: center; gap: 5px; justify-content: center;
  font-size: 12px; color: var(--gray); padding: 8px 10px; flex: 1;
  border-right: 1px solid var(--border);
}
.ps-chip:first-child { border-right: none; }
.ps-chip-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }

/* ── CART MESSAGE ── */
.ps-cart-msg { padding: 11px 14px; border-radius: 8px; font-size: 13px; font-family: 'Heebo', sans-serif; text-align: center; margin-bottom: 6px; display: none; }
.ps-cart-msg.success { background: #edf7ee; color: #2e7d32; border: 1px solid #c3e6c5; }
.ps-cart-msg.error   { background: #fdf0f0; color: #c62828; border: 1px solid #f5c6c6; }
.ps-cart-msg a { color: inherit; font-weight: 600; }

/* ── PRODUCT PAGE BUTTON ── */
.ps-viz-product-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; margin-top: 10px; padding: 13px 20px;
  background: #fff; color: #2a2420; border: 1.5px solid #e8e2da; border-radius: 8px;
  font-family: 'Heebo', sans-serif; font-size: 14px; font-weight: 600;
  text-decoration: none; cursor: pointer; transition: all .2s;
  direction: rtl; box-sizing: border-box;
}
.ps-viz-product-btn:hover { border-color: #c9a96e; color: #9a7040; background: #fdf9f3; text-decoration: none; }
.ps-viz-product-btn svg  { flex-shrink: 0; }
