/* PT Promo Elementor v1.0.0 – styles scoped to .pt-promo */
.pt-promo *{box-sizing:border-box}
.pt-promo{
  --accent: var(--primary-color, #2563eb);
  --danger: var(--danger-color, #ef4444);
  --card: var(--bg-card, #fff);
  --bd: var(--border-color, #e5e7eb);
  --rad: var(--border-radius, 16px);
  --text: var(--text-body, #0f172a);
  --muted: var(--text-muted, #6b7280);
  color: var(--text);
  font-family: inherit;
}
.pt-promo .promo{
  background:
    radial-gradient(80rem 40rem at 80% 20%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(40rem 20rem at 10% 90%, rgba(255,255,255,.08), transparent 60%),
    var(--danger);
  border-radius: var(--rad);
  padding: 28px;
  overflow: hidden;
}
.pt-promo .row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.pt-promo .col{flex:1 1 340px;min-width:300px}

.pt-promo .code-card{
  background: var(--card);
  border: 1px solid var(--bd);
  border-radius: calc(var(--rad) * .9);
  padding: 18px 18px 16px;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
  max-width: 560px;
}
.pt-promo .code-top{ position: relative; }
.pt-promo .badges{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.pt-promo .badge{
  display:inline-flex;align-items:center;gap:6px;
  background:#eef2ff;color:var(--accent);
  border:1px solid #dbeafe;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px
}
.pt-promo .badge .dot{width:8px;height:8px;border-radius:999px;background:var(--accent)}
.pt-promo .code-box{
  display:flex;align-items:center;justify-content:space-between;
  background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;
  direction:ltr;margin-bottom:10px
}
.pt-promo .code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
  font-weight:800;letter-spacing:.6px;font-size:15px;color:#111827;user-select:all
}
.pt-promo .copy-btn{
  background:var(--accent);color:#fff;border:none;border-radius:10px;padding:8px 12px;
  font-weight:800;cursor:pointer;transition:transform .06s ease
}
.pt-promo .copy-btn:active{transform:scale(.98)}

.pt-promo .toast{
  position:absolute;inset-inline-end:0;inset-block-start:calc(100% + 6px);
  background:#111827;color:#fff;padding:8px 10px;border-radius:10px;
  opacity:0;pointer-events:none;transform: translateY(10px);transition:.2s ease;font-size:12.5px
}
.pt-promo .toast.show{opacity:1; transform: translateY(0)}

.pt-promo .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}
.pt-promo .meta small{color:var(--muted)}
.pt-promo .chips{display:flex;gap:8px;flex-wrap:wrap}
.pt-promo .chip{
  background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;
  border-radius:999px;padding:6px 10px;font-size:12.5px;display:inline-flex;gap:6px;align-items:center;
  text-decoration:none
}
.pt-promo .chip svg{width:14px;height:14px;opacity:.9}

.pt-promo .expiry{color:var(--muted);font-size:12.5px;margin-top:6px}

.pt-promo .title{color:#fff;font-weight:900;font-size:clamp(22px,3vw,32px);margin:0 0 8px}
.pt-promo .lead{color:#fff;opacity:.95;margin:0 0 16px}
.pt-promo .btn-cta{
  display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--accent);
  border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;font-weight:800;text-decoration:none
}

@media (max-width: 360px){
  .pt-promo .col{min-width:260px}
}
