/* ── SEPET PAGE ──────────────────────────────────────── */
.spt-page { min-height:100vh; background:var(--light,#f8fafc); padding:40px 0 80px; }
.spt-title { font-size:clamp(1.5rem,3vw,2rem); font-weight:900; color:var(--dark); margin:0; letter-spacing:-.4px; }
.spt-subtitle { color:var(--muted); font-size:.93rem; margin:6px 0 0; }

/* ── PROGRESS STEPS ──────────────────────────────────── */
.spt-flow {
  display:flex; align-items:flex-start; background:#fff;
  border:1px solid var(--border); border-radius:14px;
  padding:16px 20px; margin-bottom:28px;
  box-shadow:var(--shadow-sm);
}
.spt-flow-step { display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; position:relative; }
/* Çizgi: daire'nin sağ kenarından adımın sağ ucuna */
.spt-flow-step:not(:last-child)::after {
  content:''; position:absolute;
  top:14px; left:calc(50% + 14px); right:0;
  height:1px; background:var(--border);
}
/* Çizgi: adımın sol ucundan daire'nin sol kenarına */
.spt-flow-step:not(:first-child)::before {
  content:''; position:absolute;
  top:14px; left:0; right:calc(50% + 14px);
  height:1px; background:var(--border);
}
.spt-flow-num {
  width:28px; height:28px; border-radius:50%; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; font-weight:800; color:var(--muted);
  background:#fff; flex-shrink:0; position:relative; z-index:1;
}
.spt-flow-step.active .spt-flow-num { background:var(--primary); border-color:var(--primary); color:#fff; }
.spt-flow-label { font-size:.78rem; font-weight:700; color:var(--muted); text-align:center; }
.spt-flow-step.active .spt-flow-label { color:var(--primary); }
@media (max-width:576px) { .spt-flow-label { display:none; } }

/* ── EMPTY STATE ─────────────────────────────────────── */
.spt-empty {
  text-align:center; padding:56px 24px 48px;
  background:#fff; border-radius:20px; border:1px solid var(--border); box-shadow:var(--shadow-sm);
}
.spt-empty-ico-wrap {
  width:76px; height:76px; border-radius:20px; margin:0 auto 22px;
  background:linear-gradient(135deg,var(--primary),#1d40af);
  display:flex; align-items:center; justify-content:center;
  font-size:1.9rem; color:#fff;
  box-shadow:0 12px 32px rgba(37,99,235,.25);
}
.spt-empty h2 { font-size:1.5rem; font-weight:800; color:var(--dark); margin-bottom:10px; }
.spt-empty-sub { color:var(--muted); font-size:.95rem; margin-bottom:28px; line-height:1.6; }
.spt-empty-cta {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--primary); color:#fff; text-decoration:none;
  font-size:.9rem; font-weight:700; padding:11px 24px; border-radius:10px;
  transition:background .15s, transform .15s; margin-bottom:40px;
}
.spt-empty-cta:hover { background:var(--primary-d); color:#fff; transform:translateY(-1px); }
.spt-empty-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
}
@media (max-width:640px) {
  .spt-empty-grid { grid-template-columns:repeat(2,1fr); }
  .spt-empty { padding:40px 16px 36px; }
}
.spt-empty-card {
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px;
  padding:18px 12px; border-radius:14px; border:1.5px solid var(--border);
  background:var(--light); text-decoration:none;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.spt-empty-card:hover { border-color:var(--primary); box-shadow:0 4px 16px rgba(37,99,235,.1); transform:translateY(-2px); }
.sec-ico { width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem; }
.sec-ico--purple { background:rgba(124,58,237,.1); color:#7c3aed; }
.sec-ico--blue   { background:rgba(37,99,235,.1);  color:var(--primary); }
.sec-ico--green  { background:rgba(16,185,129,.1); color:#059669; }
.sec-ico--rose   { background:rgba(244,63,94,.1);  color:#f43f5e; }
.sec-name { font-size:.88rem; font-weight:700; color:var(--dark2); }
.sec-from { font-size:.74rem; color:var(--muted); }

/* ── SECTION LABEL ───────────────────────────────────── */
.spt-section-lbl {
  font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); margin:20px 0 8px;
}
.spt-section-lbl:first-child { margin-top:0; }

/* ── ITEM CARD ───────────────────────────────────────── */
.spt-card {
  background:#fff; border:1px solid var(--border);
  border-radius:14px; margin-bottom:8px; box-shadow:var(--shadow-sm); overflow:hidden;
  transition:box-shadow .15s, border-color .15s;
}
.spt-card:hover { box-shadow:var(--shadow); }
.spt-card.editing {
  border-color:var(--primary);
  box-shadow:0 0 0 3px var(--primary-xl), var(--shadow);
  background:#fafcff;
}
.spt-item {
  display:flex; align-items:center; gap:12px;
  padding:14px 16px;
}
.spt-item-icon {
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
}
.spt-item-icon--domain    { background:var(--primary-xl); color:var(--primary); }
.spt-item-icon--transfer  { background:#fef3c7; color:#d97706; }
.spt-item-icon--hosting   { background:#dcfce7; color:#16a34a; }
.spt-item-icon--vds       { background:var(--primary-l); color:var(--primary-d); }
.spt-item-icon--server    { background:#e0e7ff; color:#4f46e5; }
.spt-item-icon--ssl       { background:#fce7f3; color:#db2777; }
.spt-item-icon--dedicated { background:#ffedd5; color:#ea580c; }
.spt-item-icon--mail      { background:#cffafe; color:#0891b2; }
.spt-item-icon--support   { background:#dcfce7; color:#16a34a; }
.spt-item-icon--other     { background:var(--light); color:var(--muted); }
.spt-item-body { flex:1; min-width:0; }
.spt-item-name { font-weight:700; color:var(--dark); font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.spt-item-meta { font-size:.77rem; color:var(--muted); margin-top:2px; display:flex; align-items:center; flex-wrap:wrap; gap:5px; }

/* ── MOBİL KART ≤575px ───────────────────────────────── */
/*
  Grid layout:
  ┌─────────────────────────────────────────┐
  │ [ikon] Ürün Adı                   [×]   │
  │        VDS                              │
  │        1 vCPU · 1 GB DDR4 · 25 GB NVMe  │
  │        · TR · İsim Kayıt DC (Kocaeli)    │
  │ ─────────────────────────────────────── │
  │ 295,66₺/ay              [↓ Düzenle]     │
  └─────────────────────────────────────────┘
*/
@media (max-width: 575px) {
  .spt-page { padding: 20px 0 60px; }

  .spt-item {
    display: grid;
    grid-template-areas:
      "icon body    actions"
      "icon price   actions";
    grid-template-columns: 38px 1fr auto;
    grid-template-rows: auto auto;
    gap: 0 10px;
    padding: 14px;
    align-items: start;
  }

  .spt-item-icon {
    grid-area: icon;
    width: 38px; height: 38px;
    font-size: .85rem; border-radius: 9px;
    align-self: start; margin-top: 2px;
  }

  /* Body: üst: sadece metin */
  .spt-item-body {
    grid-area: body;
    min-width: 0;
    padding-bottom: 8px;
  }

  /* Fiyat: alt: body'nin altı */
  .spt-item-price {
    grid-area: price;
    align-self: end;
    padding-top: 8px;
    border-top: 1px solid var(--border);
  }

  /* Aksiyonlar: sağ col: × üstte, Düzenle altta (fiyat hizasında) */
  .spt-item-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    height: 100%;
    gap: 6px;
  }
  /* × sağ üst: HTML'de expand önce geliyor, order ile öne al */
  .spt-item-remove {
    order: -1;
    width: 32px; height: 32px;
    font-size: .82rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1.5px solid var(--border);
    color: #94a3b8;
  }
  .spt-item-remove:hover { background: #fee2e2; border-color: #fca5a5; color: #ef4444; }
  /* Düzenle sağ alt: fiyatın hizasında */
  .spt-expand-btn {
    order: 1;
    padding: 6px 10px;
    font-size: .72rem;
    margin-top: auto;
    align-self: flex-end;
  }
  /* Ürün adı tam görünsün */
  .spt-item-name {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 5px;
  }
  /* Badge + specs dikey stack */
  .spt-item-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-size: .77rem;
  }
  /* Specs metni: ASLA kırpma, tam oku */
  .spt-item-meta > span:not(.spt-type-badge) {
    white-space: normal;
    word-break: break-word;
    line-height: 1.55;
    color: var(--muted);
  }

  .spt-item-price-val {
    font-size: 1.05rem;
    font-weight: 900;
    color: var(--dark);
    display: inline;
  }
  .spt-item-price-sub {
    font-size: .75rem;
    display: inline;
    margin-left: 2px;
    color: var(--muted);
  }

  /* Expand panel */
  .spt-expand-panel { padding: 12px; }

  /* Summary sidebar */
  .spt-summary { padding: 16px; border-radius: 14px; }
  .spt-checkout-btn { padding: 14px; font-size: .9rem; }

  /* Akış adımları */
  .spt-flow { padding: 10px 14px; }
  .spt-flow-num { width: 26px; height: 26px; font-size: .72rem; }

  /* Delete modal → bottom sheet */
  .spt-del-overlay { align-items: flex-end; padding: 0; }
  .spt-del-box {
    border-radius: 22px 22px 0 0;
    padding: 28px 22px 36px;
    max-width: 100%; width: 100%;
  }

  /* Field grid → tek sütun */
  .spt-field-grid { grid-template-columns: 1fr; }
}
.spt-type-badge {
  display:inline-block; padding:1px 7px; border-radius:20px;
  font-size:.67rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.badge--domain    { background:var(--primary-xl); color:var(--primary); }
.badge--transfer  { background:#fef3c7; color:#d97706; }
.badge--hosting   { background:#dcfce7; color:#16a34a; }
.badge--vds       { background:var(--primary-l); color:var(--primary-d); }
.badge--server    { background:#e0e7ff; color:#4f46e5; }
.badge--ssl       { background:#fce7f3; color:#db2777; }
.badge--dedicated { background:#ffedd5; color:#ea580c; }
.badge--mail      { background:#cffafe; color:#0891b2; }
.badge--support   { background:#dcfce7; color:#16a34a; }
.badge--other     { background:var(--light); color:var(--muted); }
.spt-linked-domain {
  display:inline-flex; align-items:center; gap:4px;
  font-size:.74rem; font-weight:600; color:var(--primary);
  background:var(--primary-xl); padding:1px 8px; border-radius:20px;
}
.spt-linked-domain--none {
  color:#b45309; background:#fef3c7;
}
.spt-item-price { text-align:right; flex-shrink:0; }
.spt-item-price-val { font-size:.98rem; font-weight:800; color:var(--dark); }
.spt-item-price-sub { font-size:.72rem; color:var(--muted); display:inline; margin-left:2px; }
.spt-item-price-setup {
  display:block; margin-top:3px;
  font-size:.68rem; font-weight:600; color:#64748b;
}
.spt-item-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.spt-item-remove {
  background:none; border:none; color:#cbd5e1; cursor:pointer;
  width:30px; height:30px; border-radius:8px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.8rem;
  transition:all .15s;
}
.spt-item-remove:hover { background:#fee2e2; color:#ef4444; }

/* ── EXPAND TOGGLE ───────────────────────────────────── */
.spt-expand-btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:5px 11px; border-radius:8px; font-size:.74rem; font-weight:600;
  background:var(--light); color:var(--dark3); border:1.5px solid var(--border);
  cursor:pointer; transition:all .15s; white-space:nowrap;
}
.spt-expand-btn:hover { background:var(--primary-xl); color:var(--primary); border-color:var(--primary-l); }
.spt-expand-btn.open { background:var(--primary); color:#fff; border-color:var(--primary); }
.spt-expand-btn.open:hover { background:var(--primary-d,#1a4fd6); border-color:var(--primary-d,#1a4fd6); color:#fff; }
.spt-expand-btn .fa-chevron-down { transition:transform .2s; }
.spt-expand-btn.open .fa-chevron-down { transform:rotate(180deg); }
.spt-expand-panel {
  border-top:1px solid var(--border); padding:16px;
  background:#fafbff; display:none;
}
.spt-expand-panel.open { display:block; }

/* ── OPTION ROWS ─────────────────────────────────────── */
.spt-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
@media (max-width:560px) { .spt-field-grid { grid-template-columns:1fr; } }
.spt-field { display:flex; flex-direction:column; gap:5px; }
.spt-field-label { font-size:.72rem; font-weight:600; color:var(--dark3); display:flex; align-items:center; gap:5px; }
.spt-field-label .req { color:var(--danger); }
.spt-field input, .spt-field select {
  padding:8px 11px; border:1.5px solid var(--border); border-radius:9px;
  font-size:.84rem; color:var(--dark); background:#fff;
  outline:none; transition:border-color .15s; width:100%; max-width:100%;
  box-sizing:border-box;
}
.spt-field input {
  -webkit-appearance:none; appearance:none;
}
.spt-field select {
  -webkit-appearance:none; appearance:none;
  padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4 1.4L6 6l4.6-4.6L12 2.8 6 8.8 0 2.8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
}
.spt-field-static {
  padding:8px 11px; border:1.5px solid var(--border); border-radius:9px;
  font-size:.84rem; color:var(--dark2,#334155); background:var(--bg2,#f8fafc);
  line-height:1.35;
}
.spt-field input:focus, .spt-field select:focus { border-color:var(--primary); }

/* ── BİLLİNG CYCLE KART SEÇİCİ ───────────────────────── */
.spt-bc-grid {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:7px;
}
@media (max-width:600px) {
  .spt-bc-grid { grid-template-columns: repeat(2, 1fr); }
}
.spt-bc-card {
  position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2px;
  padding:10px 8px 9px;
  border:1.5px solid var(--border); border-radius:10px;
  background:#fff; cursor:pointer;
  transition:border-color .15s, background .15s, transform .1s;
  text-align:center; user-select:none;
}
.spt-bc-card:hover { border-color:var(--primary-l); background:var(--primary-xl); transform:translateY(-1px); }
.spt-bc-card.active { border-color:var(--primary); background:var(--primary-xl); box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.spt-bc-card-title { font-size:.78rem; font-weight:700; color:var(--dark3); }
.spt-bc-card.active .spt-bc-card-title { color:var(--primary); }
.spt-bc-card-price { font-size:.82rem; font-weight:800; color:var(--dark); line-height:1.2; }
.spt-bc-card.active .spt-bc-card-price { color:var(--primary); }
.spt-bc-card-setup {
  font-size:.62rem; font-weight:600; color:#64748b; line-height:1.2; margin-top:2px;
}
.spt-bc-card.active .spt-bc-card-setup { color:#6366f1; }
.spt-bc-card-sub { font-size:.63rem; color:var(--muted); font-weight:500; }
.spt-bc-card-save {
  display:inline-block; font-size:.61rem; font-weight:700;
  padding:2px 6px; border-radius:5px; margin-top:3px;
  background:#dcfce7; color:#15803d; line-height:1.3;
}
.spt-bc-card.active .spt-bc-card-save { background:rgba(99,102,241,.15); color:var(--primary); }
.spt-bc-card-pop {
  position:absolute; top:-9px; left:50%; transform:translateX(-50%);
  background:var(--primary); color:#fff;
  font-size:.58rem; font-weight:700; padding:2px 8px;
  border-radius:20px; white-space:nowrap; letter-spacing:.03em;
}

/* ── SUNUCU ADDON BAŞLIĞI ────────────────────────────── */
.spt-addons-hdr {
  display:flex; align-items:center; gap:6px;
  font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin:14px 0 8px;
  padding-bottom:6px; border-bottom:1px solid var(--border);
}

/* ── PANEL TÜRÜ KART GRİD ─────────────────────────────── */
.spt-panel-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:6px;
}
@media (max-width:500px){ .spt-panel-grid{grid-template-columns:1fr;} }
.spt-panel-card {
  position:relative; display:flex; flex-direction:column; gap:2px;
  padding:9px 11px; border:1.5px solid var(--border); border-radius:10px;
  background:#fff; cursor:pointer; transition:border-color .15s,background .15s;
  user-select:none;
}
.spt-panel-card:hover { border-color:var(--primary-l); background:var(--primary-xl); }
.spt-panel-card.active { border-color:var(--primary); background:var(--primary-xl); box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.spt-panel-card-name { font-size:.8rem; font-weight:700; color:var(--dark3); display:flex; align-items:center; gap:6px; }
.spt-panel-card.active .spt-panel-card-name { color:var(--primary); }
.spt-panel-card-price { font-size:.75rem; font-weight:600; color:var(--muted); }
.spt-panel-card.active .spt-panel-card-price { color:var(--primary); }
.spt-panel-card-desc { font-size:.67rem; color:var(--muted); margin-top:1px; }
.spt-panel-card-pop {
  position:absolute; top:-8px; right:8px;
  background:var(--primary); color:#fff; font-size:.57rem; font-weight:700;
  padding:2px 7px; border-radius:20px;
}
.spt-panel-free {
  display:inline-block; font-size:.67rem; font-weight:700;
  background:#dcfce7; color:#15803d; padding:1px 6px; border-radius:5px;
}

/* ── MANAGED SUPPORT TİER ────────────────────────────────── */
.spt-support-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:6px;
}
@media (max-width:600px){ .spt-support-grid{grid-template-columns:repeat(2,1fr);} }
.spt-support-card {
  position:relative; display:flex; flex-direction:column; align-items:center;
  gap:4px; padding:10px 7px 9px; border:1.5px solid var(--border);
  border-radius:10px; background:#fff; cursor:pointer;
  transition:border-color .15s,background .15s,transform .1s;
  text-align:center; user-select:none;
}
.spt-support-card:hover { border-color:var(--primary-l); background:var(--primary-xl); transform:translateY(-1px); }
.spt-support-card.active { border-color:var(--primary); background:var(--primary-xl); box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.spt-support-card-ico { font-size:1.1rem; color:var(--muted); }
.spt-support-card.active .spt-support-card-ico { color:var(--primary); }
.spt-support-card-name { font-size:.76rem; font-weight:700; color:var(--dark3); }
.spt-support-card.active .spt-support-card-name { color:var(--primary); }
.spt-support-card-price { font-size:.72rem; font-weight:800; color:var(--dark); }
.spt-support-card.active .spt-support-card-price { color:var(--primary); }
.spt-support-card-desc { font-size:.63rem; color:var(--muted); line-height:1.4; }
.spt-support-card-pop {
  position:absolute; top:-8px; left:50%; transform:translateX(-50%);
  background:var(--warning,#f59e0b); color:#fff; font-size:.57rem; font-weight:700;
  padding:2px 7px; border-radius:20px; white-space:nowrap;
}

/* ── SSL GECEİRLİLİK KARTLARI ────────────────────── */
.spt-ssl-free-info {
  display:flex; align-items:center; gap:10px;
  background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px;
  padding:11px 14px; font-size:.8rem; color:#166534;
  margin-bottom:14px;
}
.spt-ssl-domain-info {
  display:flex; align-items:center; gap:7px;
  background:#fffbeb; border:1px solid #fde68a; border-radius:8px;
  padding:8px 12px; font-size:.76rem; color:#92400e;
  margin-bottom:10px;
}
.spt-ssl-validity-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  margin-bottom:14px;
}
.spt-ssl-card {
  position:relative; border:1.5px solid var(--border);
  border-radius:12px; padding:14px 12px; cursor:pointer;
  text-align:center; transition:all .15s;
  background:#fff;
}
.spt-ssl-card:hover { border-color:var(--primary-l); background:var(--primary-xl); }
.spt-ssl-card.active {
  border-color:var(--primary); background:var(--primary-xl);
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}
.spt-ssl-card-title { font-size:.8rem; font-weight:700; color:var(--dark3); margin-bottom:4px; }
.spt-ssl-card.active .spt-ssl-card-title { color:var(--primary); }
.spt-ssl-card-price { font-size:1rem; font-weight:800; color:var(--dark); }
.spt-ssl-card.active .spt-ssl-card-price { color:var(--primary); }
.spt-ssl-card-save {
  display:inline-block; margin-top:4px;
  background:#dcfce7; color:#15803d;
  font-size:.62rem; font-weight:700; padding:2px 7px; border-radius:20px;
}

/* ── ÜRÜN BİLGİSİ KUTUSU ─────────────────────────────── */
.spt-prod-info {
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  margin-bottom:14px;
}
.spt-prod-info-hdr {
  display:flex; align-items:center; gap:6px;
  background:var(--bg2,#f4f6fb);
  padding:8px 12px;
  font-size:.78rem; font-weight:700; color:var(--dark);
  border-bottom:1px solid var(--border);
}
.spt-prod-info-body {
  padding:11px 14px;
  font-size:.82rem; color:var(--muted);
  line-height:1.6;
  white-space:normal;
}
.spt-prod-info-body ul,
.spt-prod-info-body ol {
  margin:0; padding-left:1.15rem;
}
.spt-prod-info-body li { margin:0.2em 0; }
.spt-prod-info-body p { margin:0 0 0.5em; }
.spt-prod-info-body p:last-child { margin-bottom:0; }

/* ── ÖZELLİKLER KUTUSU ────────────────────────────────── */
.spt-features-box {
  background:#f8fafc; border:1px solid var(--border); border-radius:12px;
  padding:13px 15px; margin-bottom:10px;
}
.spt-features-hdr {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin-bottom:10px;
  cursor:pointer; user-select:none;
}
.spt-features-hdr-chevron { transition:transform .2s; font-size:.7rem; color:var(--muted); }
.spt-features-box.open .spt-features-hdr-chevron { transform:rotate(180deg); }
.spt-features-body { display:none; }
.spt-features-box.open .spt-features-body { display:block; }
.spt-features-list {
  display:grid; grid-template-columns:1fr 1fr; gap:4px 12px;
  margin:0 0 8px; padding:0; list-style:none;
}
@media (max-width:520px){ .spt-features-list{grid-template-columns:1fr;} }
.spt-features-list li {
  display:flex; align-items:flex-start; gap:6px;
  font-size:.78rem; color:var(--dark3); line-height:1.5;
}
.spt-features-list li i { color:var(--primary); margin-top:2px; flex-shrink:0; }
.spt-features-list li.warn i { color:var(--warning,#f59e0b); }
.spt-features-list li.info i { color:#0ea5e9; }
.spt-features-section-title {
  font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
  color:var(--muted); margin:9px 0 4px;
}

/* ── TOGGLE CHECK ROWS ───────────────────────────────── */
.spt-toggle-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 13px; border:1.5px solid var(--border); border-radius:10px;
  cursor:pointer; transition:all .15s; background:#fff; margin-bottom:6px;
}
.spt-toggle-row:hover { border-color:var(--primary-l); background:var(--primary-xl); }
.spt-toggle-row.on { border-color:var(--primary); background:var(--primary-xl); }
.spt-toggle-left { display:flex; align-items:center; gap:10px; }
.spt-toggle-icon { color:var(--primary); width:20px; text-align:center; }
.spt-toggle-name { font-size:.82rem; font-weight:600; color:var(--dark); }
.spt-toggle-desc { font-size:.7rem; color:var(--muted); }
.spt-toggle-right { display:flex; align-items:center; gap:8px; }
.spt-toggle-price { font-size:.82rem; font-weight:700; color:var(--primary); white-space:nowrap; }
.spt-switch {
  width:36px; height:20px; border-radius:10px; background:#e2e8f0;
  position:relative; transition:background .15s; flex-shrink:0;
}
.spt-toggle-row.on .spt-switch { background:var(--primary); }
.spt-switch::after {
  content:''; position:absolute; top:2px; left:2px;
  width:16px; height:16px; border-radius:50%; background:#fff; transition:left .15s;
}
.spt-toggle-row.on .spt-switch::after { left:18px; }

/* ── TR INFO BLOCK ───────────────────────────────────── */
.spt-tr-block {
  margin-top:12px; padding:14px 16px; background:#fffbeb;
  border:1.5px solid #fde68a; border-radius:12px;
}
.spt-tr-title {
  font-size:.8rem; font-weight:700; color:#92400e;
  display:flex; align-items:center; gap:7px; margin-bottom:10px;
}
.spt-tr-tabs { display:flex; gap:6px; margin-bottom:10px; }
.spt-tr-tab {
  flex:1; padding:7px; text-align:center; font-size:.78rem; font-weight:600;
  border:1.5px solid var(--border); border-radius:8px; cursor:pointer;
  background:#fff; color:var(--dark3); transition:all .15s;
}
.spt-tr-tab.active { background:#fef3c7; border-color:#fbbf24; color:#92400e; }

/* ── ADDITIONAL FIELDS (API dynamic) ─────────────────── */
.spt-af-block {
  margin-top:12px; padding:14px 16px; background:#fffbeb;
  border:1.5px solid #fde68a; border-radius:12px;
}
.spt-af-title {
  font-size:.8rem; font-weight:700; color:#92400e;
  display:flex; align-items:center; gap:7px; margin-bottom:10px;
  flex-wrap:wrap;
}
.spt-af-info {
  font-size:.74rem; color:#92400e; line-height:1.5;
  background:#fff; border:1px solid #fde68a; border-radius:9px;
  padding:10px 12px; margin-bottom:10px; overflow:auto;
  max-width:100%; word-break:break-word;
}
.spt-af-info a { color:#b45309; font-weight:600; }
.spt-field--wide { grid-column:1 / -1; }
.spt-field--radio { grid-column:1 / -1; }
.spt-af-tick {
  margin-bottom:8px;
  grid-column:1 / -1;
}
.spt-af-tick label {
  display:flex; align-items:flex-start; gap:8px;
  font-size:.78rem; color:var(--dark3); cursor:pointer;
}
.spt-af-tick input { margin-top:2px; flex-shrink:0; }
.spt-af-radio-group {
  display:flex; flex-direction:column; gap:6px;
}
.spt-af-radio {
  display:flex; align-items:flex-start; gap:8px;
  font-size:.78rem; color:var(--dark3); cursor:pointer;
}
.spt-af-radio input { margin-top:2px; flex-shrink:0; }

/* ── DOMAIN LINK BLOCK ───────────────────────────────── */
.spt-domain-link { margin-top:12px; }
.spt-domain-link-title {
  font-size:.78rem; font-weight:700; color:var(--dark3);
  display:flex; align-items:center; gap:6px; margin-bottom:8px;
}
.spt-domain-opt {
  display:flex; align-items:flex-start; gap:10px; padding:10px 13px;
  border:1.5px solid var(--border); border-radius:10px; cursor:pointer;
  background:#fff; transition:all .15s; margin-bottom:6px;
}
.spt-domain-opt:hover { border-color:var(--primary-l); background:var(--primary-xl); }
.spt-domain-opt.selected { border-color:var(--primary); background:var(--primary-xl); }
.spt-domain-opt > div:last-child { flex:1; min-width:0; }
.spt-radio {
  width:18px; height:18px; border-radius:50%; border:2px solid #cbd5e1;
  flex-shrink:0; margin-top:2px; transition:all .15s; display:flex; align-items:center; justify-content:center;
}
.spt-domain-opt.selected .spt-radio { border-color:var(--primary); background:var(--primary); }
.spt-domain-opt.selected .spt-radio::after { content:''; width:6px; height:6px; border-radius:50%; background:#fff; }
.spt-opt-title { font-size:.83rem; font-weight:600; color:var(--dark); }
.spt-opt-sub   { font-size:.73rem; color:var(--muted); margin-top:2px; line-height:1.45; word-break:break-word; }

.spt-domain-select {
  display:block; margin-top:8px; width:100%; max-width:100%;
  padding:10px 36px 10px 12px; border:1.5px solid var(--border); border-radius:9px;
  font-size:.84rem; color:var(--dark); background:#fff;
  outline:none; transition:border-color .15s;
  box-sizing:border-box;
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4 1.4L6 6l4.6-4.6L12 2.8 6 8.8 0 2.8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
}
.spt-domain-select:focus { border-color:var(--primary); }

/* ── NS CUSTOM FIELDS ───────────────────────────────── */
.spt-ns-block {
  margin-top:10px; margin-bottom:10px; padding:12px 14px; background:#f8fafc;
  border:1.5px solid var(--border); border-radius:10px;
}
.spt-ns-block-title { font-size:.72rem; font-weight:700; color:var(--dark3); margin-bottom:9px; display:flex; align-items:center; gap:6px; }
.spt-ns-input-row { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.spt-ns-input-row:last-child { margin-bottom:0; }
.spt-ns-num { font-size:.7rem; font-weight:700; color:var(--muted); width:20px; flex-shrink:0; text-align:right; }
.spt-ns-input-row input {
  flex:1; min-width:0; padding:7px 10px; border:1.5px solid var(--border); border-radius:8px;
  font-size:.82rem; color:var(--dark); background:#fff; outline:none; transition:border-color .15s;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.spt-ns-input-row input:focus { border-color:var(--primary); }
.spt-ns-req { font-size:.68rem; color:var(--danger); margin-left:2px; }

/* ── DOMAIN SEARCH (yeni domain) ─────────────────────── */
.spt-domain-search-row {
  display:flex; align-items:stretch; gap:7px; margin-top:8px;
  width:100%; max-width:100%; box-sizing:border-box;
}
.spt-domain-search-input {
  flex:1 1 auto; min-width:0; width:100%;
  padding:10px 12px; border:1.5px solid var(--border); border-radius:9px;
  font-size:.84rem; color:var(--dark); background:#fff; outline:none; transition:border-color .15s;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.spt-domain-search-input:focus { border-color:var(--primary); }
.spt-domain-search-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  flex:0 0 auto; padding:10px 14px; background:var(--primary); color:#fff;
  border:none; border-radius:9px; font-size:.8rem; font-weight:700;
  cursor:pointer; transition:background .15s; white-space:nowrap;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.spt-domain-search-btn:hover { background:var(--primary-d); }
.spt-domain-search-result {
  margin-top:8px; padding:10px 12px; border-radius:9px;
  font-size:.8rem; display:none; word-break:break-word;
}
.spt-domain-search-result.ok  { background:#f0fdf4; border:1.5px solid #bbf7d0; color:#15803d; }
.spt-domain-search-result.err { background:#fef2f2; border:1.5px solid #fecaca; color:#dc2626; }
.spt-domain-add-btn {
  display:inline-flex; align-items:center; gap:5px; margin-top:6px;
  padding:6px 12px; background:var(--primary); color:#fff; border:none;
  border-radius:8px; font-size:.78rem; font-weight:700; cursor:pointer; transition:all .15s;
  -webkit-appearance:none; appearance:none;
}
.spt-domain-add-btn:hover { background:var(--primary-d); }
.spt-inline-input {
  margin-top:8px; width:100%; max-width:100%; padding:10px 12px;
  border:1.5px solid var(--border); border-radius:8px;
  font-size:.84rem; color:var(--text); transition:border-color .15s;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.spt-inline-input:focus { border-color:var(--primary); outline:none; }

/* Safari / iOS: domain bağlama formları — zoom + taşma önlemi */
@media (max-width: 767px) {
  .spt-domain-opt { padding:12px; }
  .spt-domain-search-row {
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .spt-domain-search-input,
  .spt-domain-select,
  .spt-inline-input,
  .spt-field input,
  .spt-field select,
  .spt-af-block input,
  .spt-af-block select,
  .spt-ns-input-row input {
    font-size:16px;
    min-height:44px;
    line-height:1.25;
  }
  .spt-domain-search-btn {
    width:100%;
    min-height:44px;
    padding:12px 14px;
    font-size:.88rem;
  }
  .spt-domain-select {
    background-position:right 14px center;
    padding-right:40px;
  }
}

/* ── MISSING ALERT ───────────────────────────────────── */
.spt-alert {
  display:flex; align-items:center; gap:8px;
  padding:8px 12px; background:#fef2f2; border:1.5px solid #fecaca;
  border-radius:9px; margin-bottom:8px; font-size:.77rem; color:#dc2626; font-weight:600;
}

/* ── SUMMARY SIDEBAR ─────────────────────────────────── */
.spt-summary {
  background:#fff; border:1px solid #dde3ec; border-radius:14px;
  position:sticky; top:88px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 20px rgba(0,0,0,.07);
}
/* Header */
.spt-sum-hd { display:flex; align-items:center; justify-content:space-between; padding:13px 18px 12px; border-bottom:1px solid #f1f5f9; }
.spt-sum-hd-label { font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#475569; }
.spt-sum-hd-count { display:none; font-size:.69rem; font-weight:600; color:#6366f1; background:#eef2ff; border-radius:20px; padding:2px 9px; }
/* Items */
.spt-sum-lines { padding:0 18px; }
.ssi { padding:10px 0; border-bottom:1px solid #f8fafc; }
.ssi:last-child { border-bottom:none; }
.ssi-main { display:flex; align-items:center; gap:10px; }
.ssi-ico { width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.68rem; }
.ssi-info { flex:1; min-width:0; }
.ssi-name { display:block; font-size:.82rem; font-weight:600; color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ssi-sub  { display:block; font-size:.63rem; color:#94a3b8; font-weight:500; margin-top:2px; letter-spacing:.04em; }
.ssi-price { font-size:.85rem; font-weight:700; color:#0f172a; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.01em; flex-shrink:0; }
.ssi-domain { display:flex; align-items:center; gap:4px; font-size:.69rem; color:#16a34a; font-weight:500; margin-top:4px; padding-left:38px; }
.ssi-addon { display:flex; justify-content:space-between; align-items:center; margin-top:3px; padding-left:38px; }
.ssi-addon-name { font-size:.71rem; color:#94a3b8; }
.ssi-addon-price { font-size:.71rem; color:#64748b; font-weight:500; white-space:nowrap; }
/* Calc totals */
.spt-sum-calc { background:#f8fafc; border-top:1px solid #f1f5f9; padding:12px 18px 0; }
.spt-sum-calc-row { display:flex; justify-content:space-between; align-items:center; font-size:.78rem; color:#64748b; margin-bottom:7px; }
.spt-sum-calc-row > span:last-child { font-weight:600; color:#334155; font-variant-numeric:tabular-nums; }
.spt-sum-calc-row.sum-discount > span:first-child { color:#16a34a; }
.spt-sum-calc-row.sum-discount > span:last-child  { color:#16a34a; font-weight:700; }
.spt-sum-coupon-code { font-weight:700; font-size:.71rem; background:#f0fdf4; color:#16a34a; padding:1px 6px; border-radius:4px; margin-left:4px; }
.spt-sum-kdv-rate { color:#94a3b8; font-size:.69rem; margin-left:2px; }
.spt-sum-calc-total { display:flex; justify-content:space-between; align-items:flex-end; padding-top:10px; border-top:1px solid #e9eef5; margin-top:2px; margin-bottom:14px; }
.spt-sum-calc-total > span:first-child { font-size:.8rem; font-weight:600; color:#334155; }
.spt-sum-total-val { display:block; font-size:1.55rem; font-weight:800; color:#0f172a; letter-spacing:-.035em; font-variant-numeric:tabular-nums; line-height:1.1; }
.spt-sum-total-vat { display:block; font-size:.6rem; color:#94a3b8; text-align:right; margin-top:2px; }
  /* Checkout error banner: hidden, modal used instead */
.spt-err-banner { display:none !important; }
.spt-sum-coupon-sec {
  padding:0 18px 14px; background:#f8fafc; border-top:none;
}
.spt-coupon-row { display:flex; align-items:stretch; gap:8px; width:100%; box-sizing:border-box; }
.spt-coupon-input {
  flex:1; min-width:0; padding:9px 12px; border:1.5px solid #e2e8f0; border-radius:8px;
  font-size:.79rem; color:#0f172a; outline:none; transition:border-color .15s; background:#fff;
  box-sizing:border-box;
}
.spt-coupon-input:focus  { border-color:var(--primary); }
.spt-coupon-input.valid  { border-color:var(--success); }
.spt-coupon-input.invalid{ border-color:var(--danger); }
.spt-coupon-btn {
  flex:0 0 auto; padding:9px 16px; background:#0f172a; color:#fff; border:none; border-radius:8px;
  font-size:.77rem; font-weight:700; cursor:pointer; transition:background .15s; white-space:nowrap;
}
.spt-coupon-btn:hover { background:#1e293b; }
.spt-coupon-feedback { font-size:.71rem; margin-top:6px; min-height:0; }
.spt-coupon-feedback.ok  { color:var(--success); }
.spt-coupon-feedback.err { color:var(--danger); }
/* Footer */
.spt-sum-footer { padding:14px 18px 16px; border-top:1px solid #f1f5f9; }
.spt-auth-actions {
  display:flex; flex-direction:column; gap:8px;
  width:100%; margin-bottom:12px;
}
.spt-auth-actions .spt-checkout-btn { margin-bottom:0; width:100%; }
@media (min-width: 992px) {
  .spt-auth-actions {
    flex-direction:row; align-items:stretch;
  }
  .spt-auth-actions .spt-checkout-btn {
    flex:1 1 0; min-width:0;
    padding-left:10px; padding-right:10px;
    font-size:.82rem;
  }
}
.spt-checkout-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:13px 16px; border-radius:10px; font-size:.88rem; font-weight:700;
  background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%); color:#fff; border:none; cursor:pointer;
  text-decoration:none; transition:all .16s; margin-bottom:12px;
  box-shadow:0 2px 6px rgba(37,99,235,.3),0 1px 2px rgba(0,0,0,.08); letter-spacing:.01em;
  box-sizing:border-box;
}
.spt-checkout-btn:hover { background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%); color:#fff; box-shadow:0 4px 16px rgba(37,99,235,.4); transform:translateY(-1px); }
.spt-checkout-btn--ghost {
  background:#fff; color:#1e40af;
  border:1.5px solid #bfdbfe;
  box-shadow:none;
}
.spt-checkout-btn--ghost:hover {
  background:#eff6ff; color:#1e3a8a; border-color:#93c5fd;
  box-shadow:none; transform:translateY(-1px);
}
.spt-trust { display:flex; flex-wrap:wrap; gap:6px 14px; justify-content:center; margin-bottom:12px; }
.spt-trust-badge { display:inline-flex; align-items:center; gap:4px; font-size:.65rem; color:#94a3b8; }
.spt-trust-badge i { color:#cbd5e1; font-size:.78rem; }
.spt-clear-btn {
  display:flex; align-items:center; justify-content:center; gap:7px; width:100%;
  font-size:.78rem; font-weight:600; color:#b91c1c; cursor:pointer;
  background:#fff5f5; border:1.5px solid #fecaca; padding:9px 12px;
  transition:background .15s,border-color .15s,color .15s; border-radius:9px;
}
.spt-clear-btn i { color:#ef4444; }
.spt-clear-btn:hover { background:#fef2f2; border-color:#f87171; color:#991b1b; }
/* hide legacy elements */
.spt-summary-title,.spt-sum-divider,.spt-sum-row,.spt-sum-total,.spt-sum-vat { display:none; }
@media (max-width:991px) { .spt-summary { position:static; margin-top:24px; } }

/* ── DELETE MODAL ────────────────────────────────────── */
.spt-del-overlay {
  position:fixed; inset:0; background:rgba(15,23,42,.5); backdrop-filter:blur(4px);
  z-index:9999; display:flex; align-items:center; justify-content:center; padding:16px;
  animation:sptFade .15s ease;
}
@keyframes sptFade { from{opacity:0} to{opacity:1} }
.spt-del-box {
  background:#fff; border-radius:22px; padding:36px 30px 28px; max-width:390px; width:100%;
  box-shadow:0 24px 64px rgba(0,0,0,.22); text-align:center; animation:sptSlide .18s ease;
}
@keyframes sptSlide { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }
.spt-del-icon {
  width:60px; height:60px; border-radius:50%; background:#fee2e2;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:#dc2626; margin:0 auto 16px;
}
.spt-del-title { font-size:1.1rem; font-weight:800; color:var(--dark); margin-bottom:8px; }
.spt-del-desc  { font-size:.87rem; color:var(--muted); line-height:1.6; margin-bottom:22px; }
.spt-del-desc strong { color:var(--dark); display:block; font-size:.93rem; margin-bottom:4px; }
.spt-del-actions { display:flex; gap:10px; }
.spt-del-cancel {
  flex:1; padding:12px; border-radius:12px; font-size:.87rem; font-weight:700;
  background:var(--light); color:var(--dark3); border:1.5px solid var(--border);
  cursor:pointer; transition:all .15s; display:flex; align-items:center; justify-content:center; gap:6px;
}
.spt-del-cancel:hover { background:var(--primary-xl); border-color:var(--primary-l); color:var(--primary); }
.spt-del-confirm {
  flex:1; padding:12px; border-radius:12px; font-size:.87rem; font-weight:700;
  background:#dc2626; color:#fff; border:none; cursor:pointer; transition:all .15s;
  display:flex; align-items:center; justify-content:center; gap:7px;
}
.spt-del-confirm:hover { background:#b91c1c; transform:translateY(-1px); }

/* Error modal */
.spt-err-modal-box {
  background:#fff; border-radius:22px; padding:32px 28px 26px; max-width:420px; width:100%;
  box-shadow:0 24px 64px rgba(0,0,0,.22); animation:sptSlide .18s ease;
}
.spt-err-modal-ico {
  width:56px; height:56px; border-radius:50%; background:#fee2e2;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:#dc2626; margin:0 auto 14px;
}
.spt-err-modal-title { font-size:1rem; font-weight:800; color:#0f172a; text-align:center; margin-bottom:6px; }
.spt-err-modal-sub   { font-size:.8rem; color:#64748b; text-align:center; margin-bottom:18px; line-height:1.6; }
.spt-err-modal-list  { margin:0 0 22px; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.spt-err-modal-list li {
  display:flex; align-items:flex-start; gap:10px;
  background:#fff5f5; border:1px solid #fecaca; border-radius:10px;
  padding:10px 12px; font-size:.8rem; color:#7f1d1d; line-height:1.5;
}
.spt-err-modal-list li i { color:#dc2626; margin-top:2px; flex-shrink:0; }
.spt-err-modal-btn {
  width:100%; padding:13px; border-radius:12px; font-size:.9rem; font-weight:800;
  background:#0f172a; color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .15s;
}
.spt-err-modal-btn:hover { background:#1e293b; }

/* ── SKELETON LOADING ────────────────────────────────── */
@keyframes spt-shimmer {
  0%   { background-position: -468px 0; }
  100% { background-position: 468px 0; }
}
.spt-skel-line,
.spt-skel-block {
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 40%, #f8fafc 60%, #f1f5f9 100%);
  background-size: 936px 100%;
  animation: spt-shimmer 1.4s ease-in-out infinite;
  border-radius: 8px;
}
.spt-card--skeleton {
  pointer-events: none;
  user-select: none;
}
.spt-card--skeleton .spt-item {
  padding-bottom: 0;
}
.spt-skel-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
}
.spt-skel-line--title {
  height: 18px;
  width: 58%;
  margin-bottom: 10px;
}
.spt-skel-line--meta {
  height: 13px;
  width: 38%;
}
.spt-skel-price {
  width: 88px;
  height: 28px;
  border-radius: 8px;
}
.spt-skel-billing {
  padding: 16px 16px 18px;
  border-top: 1px solid var(--border);
}
.spt-skel-line--label {
  height: 12px;
  width: 120px;
  margin-bottom: 14px;
}
.spt-skel-bc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 768px) {
  .spt-skel-bc-grid { grid-template-columns: repeat(2, 1fr); }
}
.spt-skel-bc {
  height: 88px;
  border-radius: 12px;
}
.spt-skel-sum-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
}
.spt-skel-sum-ico {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  flex-shrink: 0;
}
.spt-skel-line--sum {
  height: 14px;
  max-width: 160px;
}
.spt-skel-sum-price {
  width: 64px;
  height: 16px;
  margin-left: auto;
  flex-shrink: 0;
}
.spt-skel-line--price-inline {
  display: inline-block;
  width: 72px;
  height: 16px;
  vertical-align: middle;
}