:root{
  --blue1:#19b5fe;
  --blue2:#3c8ce7;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --primary:#19b5fe;
  --soft:#f0f9ff;
  --radius:16px;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:linear-gradient(135deg,var(--blue1),var(--blue2));
  padding:22px;
}
.wizard{
  width:100%;
  max-width:520px;
  background:#fff;
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 20px 40px rgba(0,0,0,.18);
}
.progress{
  text-align:center;
  font-size:12px;
  color:var(--muted);
  margin-bottom:12px;
}
.header{text-align:center;margin-bottom:18px;}
.header h1{margin:0;font-size:20px;letter-spacing:-.2px;}
.header p{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.5;}

.step{display:none}
.step.active{display:block}

.options{display:grid;gap:10px;}
.option{
  border:2px solid var(--line);
  border-radius:12px;
  padding:14px;
  text-align:center;
  font-weight:700;
  cursor:pointer;
  transition:.15s;
  user-select:none;
}
.option:hover{transform:translateY(-1px)}
.option.selected{border-color:var(--primary);background:var(--soft);}
.option small{display:block;margin-top:4px;font-weight:600;color:var(--muted);font-size:12px;}

input{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:2px solid var(--line);
  font-size:14px;
}
input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(25,181,254,.12);
}

.actions{display:flex;justify-content:space-between;margin-top:18px;gap:10px;}
button{
  border:none;border-radius:12px;padding:12px 16px;font-weight:800;
  cursor:pointer;font-size:13px;
}
.btn-back{background:#f1f5f9;color:#0f172a;}
.btn-next{background:var(--primary);color:#fff;}
button:disabled{opacity:.55;cursor:not-allowed;}

.warn{
  border:1px solid #f59e0b66;
  background:#fff7ed;
  border-radius:12px;
  padding:12px;
  margin-top:12px;
  color:#7c2d12;
  font-size:12.5px;
  line-height:1.45;
}
.warn b{color:#9a3412}
.warn code{
  background:#ffedd5;
  padding:2px 6px;
  border-radius:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:12px;
}

.kv{
  margin-top:12px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
}
.kv .row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:13px;}
.kv .row span{color:var(--muted)}
.kv .row b{color:var(--text)}

.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:520px){
  .wizard{max-width:480px}
  .theme-grid{grid-template-columns:1fr}
}
.theme-card{
  border:2px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  transition:.15s;
  background:#fff;
  user-select:none;
  display:flex;
  flex-direction:column;
}
.theme-card:hover{transform:translateY(-1px)}
.theme-card.selected{
  border-color:var(--primary);
  box-shadow:0 12px 24px rgba(25,181,254,.14);
}
.theme-img{width:100%;aspect-ratio:16/10;background:#e2e8f0;position:relative;overflow:hidden;}
.theme-img img{width:100%;height:100%;object-fit:cover;display:block;}
.theme-body{padding:10px 10px 12px;}
.theme-name{font-weight:900;font-size:14px;margin:0 0 6px;}
.theme-desc{margin:0;color:var(--muted);font-size:12px;line-height:1.35;max-height:3.9em;overflow:hidden;}

.hint{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45;}

/* minimal layout for sidebar + main wizard */
.page-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
}
@media (max-width: 980px){
  .page-wrap{ grid-template-columns: 1fr; }
}
.sidebar{
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  padding: 14px;
}
.sidebar h3{
  margin: 0 0 10px;
  font: 600 14px/1.2 system-ui;
  color: #111827;
}
.sum-item{
  display:none;
  border: 1px solid #eef2f7;
  background: #fafbff;
  border-radius: 12px;
  padding: 10px 10px;
  margin-bottom: 10px;
}
.sum-item .k{
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 4px;
}
.sum-item .v{
  font-size: 13px;
  color: #111827;
  font-weight: 600;
  word-break: break-word;
}
.sum-theme{
  display:flex;
  gap:10px;
  align-items:center;
}
.sum-theme img{
  width: 64px;
  height: 44px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background:#fff;
}
.domain-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.domain-prefix{
  width: 84px;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font: 600 13px/1 system-ui;
  text-align:center;
}
.domain-input{
  flex: 1;
}
.domain-input input{
  width:100%;
}
/* ===== LAYOUT OVERRIDES (main big, sidebar small) ===== */
/* ===== FORCE BIG MAIN WIZARD (like your screenshot) ===== */

/* grid: small left / big right */
.page-wrap{
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 18px;
  display: grid;
  grid-template-columns: 360px minmax(720px, 880px); /* <-- main big */
  gap: 24px;
  align-items: center;
  justify-content: center;
}

/* IMPORTANT: override your .wizard{max-width:520px} */
.page-wrap .wizard.wizard-big{
  width: 100%;
  max-width: 680px !important;
  padding: 36px !important;
}

/* sidebar */
.page-wrap .sidebar{
  width: 360px;
}

/* mobile */
@media (max-width: 1100px){
  .page-wrap{
    grid-template-columns: 1fr;
    max-width: 900px;
  }
  .page-wrap .sidebar{
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }
  .page-wrap .wizard.wizard-big{
    max-width: 900px !important;
  }
}

/* make main wizard BIG */
.wizard.wizard-big{
  max-width: 780px;  /* <-- big card */
  padding: 34px;
}

/* sidebar compact */
.sidebar{
  max-width: 300px;
}

/* theme grid can stay 2 cols even on larger wizard */
.theme-grid{ grid-template-columns: 1fr 1fr; }
/* ===== DOMAIN INPUT GROUP (www + input as ONE FIELD) ===== */

/* ===== DOMAIN INPUT AS ONE FIELD ===== */

.domain-group{
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:640px;
  margin:0 auto;
  border:2px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  transition:.15s;
}

.domain-group:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(25,181,254,.12);
}

.domain-prefix{
  padding:14px 16px;
  background:#f8fafc;
  color:#64748b;
  font-weight:700;
  font-size:14px;
  border-right:1px solid var(--line);
  user-select:none;
}

.domain-field{
  border:none !important;
  outline:none !important;
  padding:14px 16px;
  font-size:14px;
  width:100%;
  box-shadow:none !important;
}

.domain-hint{
  font-size:11px;
  color:#6b7280;
  margin-top:6px;
  text-align:left;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}

/* kill old layout */
.domain-row,
.domain-input{
  display:none !important;
}
