/* ══════════════════════════════════════
   PC (DESKTOP & TABLET) STYLES
══════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:'Cairo',sans-serif;background:var(--app-bg);color:var(--text);direction:rtl;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ── TOPBAR ── */
.topbar{
  background:linear-gradient(180deg,rgba(13,13,26,.98),rgba(13,13,26,.92));
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:12px 20px;display:flex;align-items:center;
  justify-content:space-between;z-index:200;position:relative;
  flex-shrink:0;gap:12px;
}
.topbar-logo{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:900;letter-spacing:.3px}
.topbar-logo span{background:linear-gradient(135deg,var(--text),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.live-dot{width:9px;height:9px;background:var(--accent);border-radius:50%;animation:pulse 1.4s infinite;box-shadow:0 0 8px var(--accent)}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.3}}
.topbar-actions{display:flex;gap:8px}

/* ── DESKTOP LAYOUT ── */
.app-wrap{display:flex;flex-direction:column;height:100vh;height:100dvh}
.app-body{display:grid;grid-template-columns:340px 1fr 300px;flex:1;overflow:hidden}

/* ── SIDEBARS ── */
.sidebar{
  background:var(--panel);overflow-y:auto;padding:16px;
  scrollbar-width:thin;scrollbar-color:#2a2a3e transparent;
  transition:background var(--transition-med);
}
.sidebar::-webkit-scrollbar{width:4px}
.sidebar::-webkit-scrollbar-thumb{background:#2a2a3e;border-radius:4px}
.sidebar-left{border-inline-end:1px solid var(--border)}
.sidebar-right{border-inline-start:1px solid var(--border)}

/* ── CANVAS AREA ── */
.canvas-area{
  display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;padding:28px 20px;overflow-y:auto;
  background:radial-gradient(ellipse at 50% 0%,#1a0a2e 0%,#08080d 70%);
  position:relative;
}
.canvas-area::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:600px;height:300px;
  background:radial-gradient(ellipse,rgba(230,57,70,.06) 0%,transparent 70%);
  pointer-events:none;
}

/* ── SECTION LABEL ── */
.slabel{
  font-size:.68rem;font-weight:800;color:var(--accent);
  letter-spacing:2.5px;text-transform:uppercase;
  margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;
}
.slabel:first-child{margin-top:0}
.slabel::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}

/* ── FORM ── */
.frow{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.frow label{font-size:.76rem;color:var(--dim);white-space:nowrap;flex-shrink:0}
.form-label{margin-bottom:5px;font-size:.76rem;color:var(--dim);display:block;font-weight:500;letter-spacing:.2px}
input[type=text],select,textarea{
  width:100%;background:var(--input);border:1px solid var(--iborder);
  border-radius:var(--r-sm);color:var(--text);padding:9px 12px;
  font-family:'Cairo',sans-serif;font-size:.82rem;outline:none;
  direction:rtl;transition:all var(--transition-fast);
}
input[type=text]:focus,textarea:focus,select:focus{border-color:var(--ifocus);box-shadow:0 0 0 3px var(--accent-glow)}
input[type=text]:hover,textarea:hover{border-color:#3a3a5e}
textarea{resize:vertical;min-height:70px;margin-bottom:8px;line-height:1.6}
input[type=color]{width:34px;height:30px;padding:2px;border-radius:6px;border:1px solid var(--iborder);background:var(--input);cursor:pointer;flex-shrink:0;transition:border-color var(--transition-fast)}
input[type=color]:hover{border-color:var(--accent)}
input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer;height:4px}

/* ── TOGGLE ── */
.trow{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;padding:4px 0}
.trow label.lbl{font-size:.76rem;color:var(--dim)}
.tog{position:relative;width:38px;height:20px;flex-shrink:0}
.tog input{opacity:0;width:0;height:0}
.tslider{position:absolute;inset:0;background:#2a2a3e;border-radius:20px;cursor:pointer;transition:var(--transition-med)}
.tslider::before{content:'';position:absolute;width:14px;height:14px;right:3px;top:3px;background:#fff;border-radius:50%;transition:var(--transition-med);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.tog input:checked+.tslider{background:var(--accent)}
.tog input:checked+.tslider::before{transform:translateX(-18px)}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 16px;border-radius:var(--r-sm);font-family:'Cairo',sans-serif;
  font-size:.8rem;font-weight:700;cursor:pointer;border:none;
  transition:all var(--transition-fast);white-space:nowrap;
  position:relative;overflow:hidden;
}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0);transition:var(--transition-fast)}
.btn:active::after{background:rgba(255,255,255,.08)}
.btn-red{background:var(--accent);color:#fff;box-shadow:0 2px 12px rgba(230,57,70,.25)}
.btn-red:hover{background:#c1121f;transform:translateY(-1px);box-shadow:0 4px 18px rgba(230,57,70,.35)}
.btn-gold{background:linear-gradient(135deg,#f4a261,#e76f51);color:#fff;box-shadow:0 2px 12px rgba(244,162,97,.2)}
.btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-ghost{background:var(--input);color:var(--text);border:1px solid var(--iborder)}
.btn-ghost:hover{border-color:var(--accent2);color:var(--accent2);background:rgba(244,162,97,.05)}
.btn-green{background:linear-gradient(135deg,#2d6a4f,#40916c);color:#fff;box-shadow:0 2px 12px rgba(45,106,79,.25)}
.btn-green:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-sm{padding:6px 12px;font-size:.74rem}
.btn-full{width:100%;margin-bottom:6px}

/* ── FILE UPLOAD ── */
.file-label{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px;border:2px dashed var(--iborder);border-radius:var(--r);
  cursor:pointer;color:var(--dim);font-size:.78rem;font-weight:600;
  transition:all var(--transition-med);margin-bottom:8px;
  font-family:'Cairo',sans-serif;background:var(--glass);
}
.file-label:hover{border-color:var(--accent2);color:var(--text);background:rgba(244,162,97,.04)}
.file-label:active{transform:scale(.98)}
.file-label input{display:none}

/* ── SLIDER ROW ── */
.srow{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.srow .lbl{font-size:.76rem;color:var(--dim);white-space:nowrap;min-width:max-content}
.srow .val{font-size:.76rem;color:var(--accent);min-width:32px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}

/* ── TEMPLATES GRID ── */
.tpl-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}
.tpl-card{
  border-radius:var(--r-sm);cursor:pointer;border:2px solid transparent;
  overflow:hidden;position:relative;aspect-ratio:1;
  transition:all var(--transition-med);
  box-shadow:var(--shadow-sm);
}
.tpl-card:hover{border-color:var(--accent2);transform:scale(1.05);box-shadow:var(--shadow-md)}
.tpl-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(230,57,70,.25),var(--shadow-md)}
.tpl-card .tname{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);text-align:center;font-size:.6rem;padding:4px;color:#fff;font-family:'Cairo',sans-serif;letter-spacing:.3px}
.tpl-active-mark{position:absolute;top:4px;right:4px;background:var(--accent);color:#fff;font-size:.52rem;padding:2px 5px;border-radius:4px;display:none;font-weight:700}
.tpl-card.active .tpl-active-mark{display:block}

/* ── SIZE CHIPS ── */
.schips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.schip{
  padding:6px 12px;background:var(--input);border:1px solid var(--iborder);
  border-radius:18px;font-size:.7rem;cursor:pointer;color:var(--dim);
  transition:all var(--transition-med);text-align:center;font-weight:500;
  min-width:fit-content;
}
.schip.active{border-color:var(--accent);color:var(--accent);background:rgba(230,57,70,.08);box-shadow:0 0 0 2px rgba(230,57,70,.12)}
.schip:hover{border-color:var(--accent2);color:var(--text)}
.schip small{font-size:.58rem;opacity:.7}

/* ── EXPORT GRID ── */
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}
.exp-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:12px 6px;background:var(--input);border:1px solid var(--iborder);
  border-radius:var(--r);cursor:pointer;font-family:'Cairo',sans-serif;
  color:var(--dim);font-size:.7rem;transition:all var(--transition-med);
  text-align:center;
}
.exp-btn:hover{border-color:var(--accent);color:var(--text);background:rgba(230,57,70,.05);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.exp-btn:active{transform:translateY(0)}
.exp-btn .ico{font-size:1.3rem}

/* ── FONT PILLS ── */
.fpills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.fpill{
  padding:4px 12px;background:var(--input);border:1px solid var(--iborder);
  border-radius:18px;font-size:.72rem;cursor:pointer;color:var(--dim);
  transition:all var(--transition-med);font-weight:500;
}
.fpill.active{border-color:var(--accent);color:var(--accent);background:rgba(230,57,70,.08)}
.fpill:hover{border-color:var(--accent2);color:var(--text)}

/* ── COLOR ROW ── */
.crow{display:flex;align-items:center;gap:8px;margin-bottom:7px;padding:3px 0}
.crow label{font-size:.76rem;color:var(--dim);flex:1;font-weight:500}

/* ══════════════════════════════════
   CARD STYLES
══════════════════════════════════ */
#preview-card{
  width:480px;height:480px;
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  direction:rtl;font-family:'Cairo',sans-serif;
  box-shadow:0 30px 100px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04);
  border-radius:4px;flex-shrink:0;
  transition:width .3s ease, height .3s ease;
}
.cbg,.cbgimg,.covr,.ccust-ovr{position:absolute;inset:0}
.cbg{z-index:0}
.cbgimg{z-index:1;background-size:cover;background-position:center;background-repeat:no-repeat}
.covr{z-index:2}
.ccust-ovr{z-index:3;pointer-events:none}
.ccontent{position:relative;z-index:4;height:100%;display:flex;flex-direction:column}

/* logo row */
.clogo-row{display:flex;align-items:center;padding:16px 20px 6px;gap:12px}
.clogo-img{object-fit:contain}
.cbadge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:3px;font-weight:900;font-size:.82rem;letter-spacing:.3px}

/* breaking */
.cbreak-wrap{padding:0 20px;margin-bottom:6px}
.cbreak{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 12px;font-weight:900;font-size:.95rem;border-radius:3px}
.bdot{width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse 1s infinite;flex-shrink:0}

/* body */
.cbody{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 20px 18px}
.cheadline{line-height:1.55;font-weight:700;margin-bottom:10px;direction:rtl;text-align:right;unicode-bidi:embed}
.csource{font-size:.76rem;opacity:.65;font-weight:400;direction:rtl;text-align:right}

/* ticker */
.cticker-wrap{overflow:hidden}
.cticker{padding:5px 20px;direction:rtl}
.cticker-inner{display:flex;gap:50px;animation:marqueeRTL 22s linear infinite;white-space:nowrap;width:max-content;direction:rtl}
@keyframes marqueeRTL{0%{transform:translateX(0)}100%{transform:translateX(50%)}}
.cticker-inner span{direction:rtl;unicode-bidi:embed;text-align:right}

/* bottom bar */
.cbar{flex-shrink:0;height:4px}

/* ══════════════════════════════════
   TEMPLATE SHAPE CLASSES
══════════════════════════════════ */
.t3 .cbreak{border-inline-start:4px solid var(--ta,#e63946);border-radius:0;background:transparent!important}
.t4 .cbreak{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-inline-end:22px}
.t5 .clogo-row{border-bottom:2px solid var(--ta,#e63946);margin:0 16px;padding:10px 4px 8px}
.t3 .cbadge{background:transparent!important;border:1.5px solid var(--ta,#e63946);color:var(--ta,#e63946)!important;border-radius:2px}

/* ══════════════════════════════════
   TABLET BREAKPOINT (900-1200px)
══════════════════════════════════ */
@media(min-width:901px) and (max-width:1200px){
  .app-body{grid-template-columns:280px 1fr 260px}
  .sidebar{padding:12px}
  .canvas-area{padding:20px 14px}
  #preview-card{width:380px!important;height:380px!important}
  .slabel{font-size:.62rem;margin:14px 0 8px}
  .form-label{font-size:.7rem}
}

/* ── TOAST ── */
.toast{
  position:fixed;bottom:80px;left:50%;
  transform:translateX(-50%) translateY(80px);
  background:rgba(20,20,30,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  color:#fff;padding:10px 24px;border-radius:28px;
  font-size:.84rem;font-family:'Cairo',sans-serif;
  border-inline-start:3px solid var(--accent);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  z-index:9999;white-space:nowrap;pointer-events:none;
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ── LOADING ── */
.loverlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.85);backdrop-filter:blur(8px);
  z-index:9998;align-items:center;justify-content:center;
  flex-direction:column;gap:16px;font-family:'Cairo',sans-serif;
  color:#fff;font-size:.95rem;
}
.loverlay.show{display:flex}
.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── PREVIEW LABEL ── */
.prev-lbl{
  font-size:.72rem;color:var(--dim);margin-bottom:12px;text-align:center;
  padding:4px 14px;background:var(--glass);border-radius:20px;
  border:1px solid var(--glass-border);letter-spacing:.3px;
}

/* ── DIVIDER ── */
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:12px 0}

/* ── ANIMATIONS ── */
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes subtlePulse{0%,100%{box-shadow:0 0 0 0 rgba(230,57,70,.2)}50%{box-shadow:0 0 0 6px rgba(230,57,70,0)}}
.tpl-card.active{animation:subtlePulse 2s ease infinite}

/* ── MOBILE ELEMENTS (hidden on desktop) ── */
.mobile-tabs{display:none}
.mobile-panels{display:none}
