:root{
  --wz-bg-1:#150a0d; --wz-bg-2:#2b0f18;
  --wz-panel:rgba(255,255,255,.045); --wz-panel-solid:#221016;
  --wz-border:rgba(232,193,90,.22);
  --wz-ink:#f7ece7; --wz-ink-soft:#cbaba3;
  --wz-accent:#ff2d55; --wz-accent-bright:#ff6083; --wz-gold:#e8c15a;
  --wz-focus:#e8c15a;
}

*{box-sizing:border-box;}
body.wizard-body{
  display:block; margin:0; color:var(--wz-ink); color-scheme:dark;
  font-family:'Jost','Segoe UI',sans-serif;
  min-height:100vh; padding:0; align-items:initial; justify-content:initial;
  background:
    radial-gradient(55rem 38rem at 10% -10%, rgba(255,45,85,.18), transparent 60%),
    radial-gradient(45rem 38rem at 105% 0%, rgba(232,193,90,.1), transparent 55%),
    linear-gradient(180deg, var(--wz-bg-1), var(--wz-bg-2) 45%, var(--wz-bg-1));
}
h2{ font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; margin:0 0 .4rem;
  background:linear-gradient(100deg, var(--wz-ink), var(--wz-gold)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.wz-subheading{ font-family:'Playfair Display',Georgia,serif; font-size:1.05rem; margin:1.4rem 0 .3rem; color:var(--wz-gold); background:none; -webkit-background-clip:unset; background-clip:unset; }

.wz-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 1.5rem; border-bottom:1px solid var(--wz-border);
  background:rgba(15,7,9,.65); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  position:sticky; top:0; z-index:10;
}
.wz-logo{ display:flex; align-items:center; }
.wz-logo img{ height:2.1rem; display:block; }
.wz-price{ font-size:.85rem; color:var(--wz-ink-soft); }

.wz-layout{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1400px; margin:0 auto; padding:1.5rem; align-items:start; }
@media (max-width:900px){ .wz-layout{ grid-template-columns:1fr; } }

.wz-form{ display:flex; flex-direction:column; gap:1.25rem; }
.wz-section{
  background:var(--wz-panel); border:1px solid var(--wz-border); border-radius:16px;
  padding:1.4rem 1.5rem; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.wz-help{ font-size:.85rem; color:var(--wz-ink-soft); margin:.2rem 0 .8rem; line-height:1.5; }

.field{ margin-bottom:1rem; }
.field:last-child{ margin-bottom:0; }
.field-head{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }
label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:.35rem; color:var(--wz-ink); }
input[type="text"], input[type="date"], input[type="time"], textarea, select{
  width:100%; font:inherit; font-size:.95rem; color:var(--wz-ink);
  background:rgba(0,0,0,.28); border:1.5px solid var(--wz-border); border-radius:8px;
  padding:.6rem .75rem;
}
input::placeholder, textarea::placeholder{ color:rgba(203,171,163,.55); }
textarea{ resize:vertical; }
input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:2.5px solid var(--wz-focus); outline-offset:1px; }
select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5 8l5 5 5-5' fill='none' stroke='%23e8c15a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat; background-position:right .7rem center; background-size:1.1rem; padding-right:2.2rem;
}
select option{ background:var(--wz-panel-solid); color:var(--wz-ink); }

.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:520px){ .two-col{ grid-template-columns:1fr; } }

.inspire-btn{
  font-family:inherit; font-size:.78rem; border:1.5px solid var(--wz-gold); color:var(--wz-gold);
  background:transparent; border-radius:999px; padding:.3rem .7rem; cursor:pointer; white-space:nowrap;
  transition:background .15s;
}
.inspire-btn:hover{ background:rgba(232,193,90,.12); }

.theme-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
@media (max-width:640px){ .theme-grid{ grid-template-columns:1fr; } }
.theme-card{
  position:relative; display:flex; flex-direction:column; gap:.4rem;
  border:2px solid var(--wz-border); border-radius:14px; padding:.9rem; cursor:pointer;
  background:rgba(0,0,0,.15); transition:border-color .15s, box-shadow .15s, transform .15s;
}
.theme-card:hover{ transform:translateY(-3px); }
.theme-card input{ position:absolute; opacity:0; }
.theme-card:has(input:checked){ border-color:var(--wz-gold); box-shadow:0 0 0 3px rgba(232,193,90,.18), 0 10px 24px rgba(255,45,85,.2); }
.theme-card strong{ font-size:.95rem; color:var(--wz-ink); }
.theme-desc{ font-size:.78rem; color:var(--wz-ink-soft); line-height:1.4; }
.swatches{ display:flex; gap:.3rem; }
.swatches i{ width:1.1rem; height:1.1rem; border-radius:50%; display:inline-block; box-shadow:0 0 0 1px rgba(255,255,255,.15); }

.custom-color-panel{
  background:rgba(0,0,0,.2); border:1px solid var(--wz-border); border-radius:14px;
  padding:1rem 1.2rem; margin:0 0 1.4rem;
}
.custom-color-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
@media (max-width:640px){ .custom-color-grid{ grid-template-columns:repeat(2,1fr); } }
.custom-color-grid label{
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:600; color:var(--wz-ink-soft); text-align:center;
}
.custom-color-grid input[type="color"]{
  width:100%; height:2.6rem; padding:0; border:1.5px solid var(--wz-border); border-radius:8px;
  background:none; cursor:pointer;
}

.radio-row{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem; font-size:.9rem; }
.checkbox-row{ font-size:.85rem; font-weight:400; display:flex; align-items:center; gap:.5rem; color:var(--wz-ink); }
.checkbox-row input{ width:auto; }

.chip-editor{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.6rem; }
.chip-editor .time-chip{
  display:flex; align-items:center; gap:.4rem; background:rgba(0,0,0,.28); border:1.5px solid var(--wz-border);
  border-radius:999px; padding:.35rem .4rem .35rem .9rem; font-size:.88rem; color:var(--wz-ink);
}
.time-chip button{
  border:none; background:rgba(232,193,90,.25); color:var(--wz-ink); width:1.4rem; height:1.4rem; border-radius:50%;
  cursor:pointer; line-height:1;
}
.chip-add-row{ display:flex; gap:.5rem; margin-bottom:.7rem; }
.chip-add-row input{ flex:1; }

.btn-secondary{
  font:inherit; font-size:.85rem; background:transparent; border:1.5px solid var(--wz-gold); color:var(--wz-gold);
  border-radius:8px; padding:.5rem .9rem; cursor:pointer; white-space:nowrap; transition:background .15s;
}
.btn-secondary:hover{ background:rgba(232,193,90,.12); }

.upload-status{ font-size:.8rem; color:var(--wz-ink-soft); margin:.4rem 0 0; }
.upload-status.ok{ color:#5fd68a; }
.upload-status.err{ color:var(--wz-accent-bright); }

.wz-advanced summary{ cursor:pointer; font-family:'Playfair Display',serif; color:var(--wz-gold); font-size:1.05rem; }
.wz-advanced[open] summary{ margin-bottom:1rem; }

.wz-error{ background:rgba(255,45,85,.12); color:#ffb3c0; border:1px solid rgba(255,45,85,.4); border-radius:8px; padding:.8rem 1rem; font-size:.88rem; }

.btn-pay{
  font:inherit; font-size:1.05rem; font-weight:600; color:#fff;
  background:linear-gradient(120deg, var(--wz-accent), var(--wz-accent-bright) 60%, var(--wz-gold));
  background-size:180% 180%;
  border:none; border-radius:999px; padding:1rem 1.5rem; cursor:pointer;
  box-shadow:0 16px 40px rgba(255,45,85,.35); transition:transform .18s;
  animation:wzglow 2.6s ease-in-out infinite;
}
.btn-pay:hover{ transform:translateY(-2px) scale(1.01); }
.btn-pay:disabled{ opacity:.6; cursor:wait; transform:none; animation:none; }
@keyframes wzglow{
  0%,100%{ box-shadow:0 16px 40px rgba(255,45,85,.35); background-position:0% 50%; }
  50%{ box-shadow:0 16px 46px rgba(232,193,90,.45); background-position:100% 50%; }
}

.wz-preview{ position:sticky; top:5.5rem; display:flex; flex-direction:column; gap:.6rem; }
.wz-preview-toolbar{ display:flex; align-items:center; justify-content:space-between; font-size:.85rem; color:var(--wz-ink-soft); flex-wrap:wrap; gap:.5rem; }
.preview-jump{ display:flex; gap:.35rem; flex-wrap:wrap; }
.preview-jump button{
  font:inherit; font-size:.78rem; border:1.5px solid var(--wz-border); background:var(--wz-panel); color:var(--wz-ink-soft);
  border-radius:999px; padding:.3rem .7rem; cursor:pointer;
}
.preview-jump button.active{ border-color:var(--wz-gold); color:var(--wz-gold); }
#previewFrame{ width:100%; height:70vh; border:1px solid var(--wz-border); border-radius:16px; background:#000; box-shadow:0 20px 50px rgba(0,0,0,.4); }
@media (max-width:900px){ #previewFrame{ height:60vh; } }

.link-preview-label{ font-family:'Jost',sans-serif; font-size:.8rem; color:var(--wz-ink-soft); margin:.2rem 0 0; }
.link-preview-mock{
  display:flex; align-items:stretch; background:#f0f0f0; border-radius:12px; overflow:hidden;
  border:1px solid rgba(0,0,0,.08); box-shadow:0 8px 22px rgba(0,0,0,.25);
}
.lpm-thumb{
  width:5.5rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.8rem;
  background:linear-gradient(135deg, var(--lpm-c1,#3a0f1c), var(--lpm-c2,#a3142e));
}
.lpm-text{ display:flex; flex-direction:column; justify-content:center; gap:.2rem; padding:.6rem .9rem; text-align:left; min-width:0; }
.lpm-text strong{ font-family:'Jost',sans-serif; font-size:.85rem; color:#161616; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lpm-text span{ font-family:'Jost',sans-serif; font-size:.75rem; color:#555; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lpm-text em{ font-style:normal; font-family:'Jost',sans-serif; font-size:.68rem; color:#999; letter-spacing:.03em; margin-top:.1rem; }
