/* Demo builder */
.bhero{position:relative;padding:140px 0 40px;overflow:hidden;isolation:isolate}
.bhero::before{content:"";position:absolute;right:-250px;top:-320px;width:1000px;height:1000px;background:radial-gradient(closest-side,rgba(107,63,200,.32),transparent 70%);z-index:-1}
.bhero h1{font-size:clamp(2.5rem,5.2vw,4.2rem);margin:20px 0 0}
.bhero .sub{max-width:720px}
.bhero .assure{margin-top:22px}
.quick{margin-top:16px;color:var(--dim);font-size:.92rem}
.quick a{color:var(--gold-hi);font-weight:700}
.bsec{padding:24px 0 110px}
.bwrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:36px;align-items:start}

/* form shell */
.bform{padding:30px 34px 26px;border-radius:24px;border:1px solid var(--line-2);background:linear-gradient(180deg,var(--surface),var(--bg-3));box-shadow:0 40px 90px -40px rgba(107,63,200,.5);min-width:0}
.bform label{display:block;font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:16px}
.bform input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=color]),.bform textarea{display:block;width:100%;margin-top:7px;padding:13px 15px;border-radius:11px;border:1px solid var(--line-2);background:rgba(0,0,0,.35);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.bform textarea{resize:vertical;min-height:52px}
.bform input::placeholder,.bform textarea::placeholder{color:#5f586a}
.bform input:focus,.bform textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,181,106,.15)}
.bform .mini{margin-bottom:12px}
.bstep{border:0;padding:0;margin:0;min-width:0}
.bstep[hidden]{display:none}
.bq{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:600;letter-spacing:-.02em;color:var(--ink);padding:0;margin:4px 0 20px}
.lbl{font-size:.8rem;font-weight:700;color:var(--muted);margin:6px 0 10px}
.hint{color:var(--dim);font-size:.9rem;margin:-6px 0 18px}
.hint a{color:var(--gold-hi)}

/* step tabs */
.btabs{display:flex;gap:6px;list-style:none;margin:0 0 28px;padding:0 0 4px;overflow-x:auto;scrollbar-width:none}
.btabs::-webkit-scrollbar{display:none}
.btabs li{flex:1 0 auto}
.btabs button{width:100%;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--dim);font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s}
.btabs b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;border:1px solid var(--line-2);flex:none}
.btabs button:hover{color:var(--ink);border-color:var(--line-2)}
.btabs button.done{color:var(--muted)}
.btabs button.done b{background:rgba(216,181,106,.15);border-color:rgba(216,181,106,.5);color:var(--gold-hi)}
.btabs button[aria-current="step"]{color:var(--ink);border-color:rgba(216,181,106,.6);background:rgba(216,181,106,.08)}
.btabs button[aria-current="step"] b{background:var(--gold-grad);color:#1a1206;border-color:transparent}

/* chip choices */
.pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.pick label{margin:0;position:relative}
.pick input,.ocard input,.seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pick span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);color:var(--muted);font-weight:700;font-size:.86rem;cursor:pointer;transition:all .2s;user-select:none}
.pick span:hover{border-color:rgba(216,181,106,.5);color:var(--ink)}
.pick.multi span::before{content:"";width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line-2);flex:none;transition:all .2s}
.pick input:checked+span{color:#1a1206;background:var(--gold-grad);border-color:transparent}
.pick.multi input:checked+span::before{border-color:#1a1206;background:#1a1206 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23f2dc9f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.pick input:focus-visible+span,.ocard input:focus-visible+span{box-shadow:0 0 0 3px rgba(216,181,106,.35)}

/* option cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.ocard{margin:0!important;position:relative}
.ocard>span{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);cursor:pointer;transition:all .2s}
.ocard>span:hover{border-color:rgba(216,181,106,.5)}
.ocard b{font-size:.95rem;color:var(--ink)}
.ocard small{color:var(--dim);font-size:.8rem;font-weight:600}
.ocard input:checked+span{border-color:var(--gold);background:linear-gradient(180deg,rgba(216,181,106,.12),rgba(216,181,106,.03));box-shadow:0 0 0 1px var(--gold) inset}
.sw{display:block;height:8px;border-radius:5px;margin-top:8px;background:linear-gradient(90deg,var(--a) 0 45%,var(--b) 45%);border:1px solid var(--line)}
.fonts b{font-size:1.4rem;font-weight:600;line-height:1.1}
.f-cond{font-family:"Oswald",Impact,sans-serif;letter-spacing:.02em}
.f-serif{font-family:var(--serif);font-style:italic}
.f-sans{font-family:var(--sans);font-weight:800!important}
.colours{display:flex;gap:16px;margin:-6px 0 18px;flex-wrap:wrap}
.colours[hidden]{display:none}
.cpick{display:flex!important;align-items:center;gap:10px;margin:0!important}
.cpick input{width:44px;height:36px;border:1px solid var(--line-2);border-radius:9px;background:none;padding:2px;cursor:pointer}
.if-other[hidden],.if-custom[hidden]{display:none}

/* phone style cards */
.phones .ocard>span{align-items:flex-start;gap:10px}
.ps{display:flex;align-items:center;gap:8px;font-style:normal;min-height:34px}
.ps .pi{width:30px;height:30px;border-radius:50%;background:var(--gold-grad) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1206' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2'/%3E%3C/svg%3E") center/15px no-repeat;flex:none}
.ps u{text-decoration:none;font-weight:800;color:var(--ink);font-size:.92rem}
.ps s{text-decoration:none;font-size:.78rem;font-weight:800;padding:6px 12px;border-radius:8px;border:1px solid var(--gold);color:var(--gold-hi)}
.ps s+s{background:var(--gold-grad);color:#1a1206;border-color:transparent}

/* uploads */
.drop{display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:120px;border-radius:16px;border:1.5px dashed rgba(216,181,106,.45);background:rgba(216,181,106,.04);cursor:pointer;transition:all .2s;margin-bottom:12px!important;position:relative}
.drop:hover,.drop.over{background:rgba(216,181,106,.09);border-color:var(--gold)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop span{display:flex;flex-direction:column;gap:4px;color:var(--gold-hi);font-size:.95rem;pointer-events:none}
.drop small{color:var(--dim);font-weight:600}
.drop.sm{min-height:64px;margin-bottom:8px!important}
.drop.sm span{font-size:.85rem}
.drop[hidden]{display:none!important}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.thumbs.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin-bottom:22px}
.thumb{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:1;width:86px;background:#111}
.thumbs.grid .thumb{width:auto}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(9,8,11,.85);color:#fff;cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center}
.thumb button:hover{background:#c0392b}
.slot .thumbs{margin:0}
.ba{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.tops{margin-bottom:6px}

/* summary + nav */
.summary{margin:6px 0 4px;padding:16px 18px;border-radius:14px;border:1px solid rgba(216,181,106,.35);background:rgba(216,181,106,.05);color:var(--muted);font-size:.9rem}
.summary b{color:var(--ink)}
.summary:empty{display:none}
.bnav{display:flex;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.bnav .btn{flex:1}
.bnav #b-back{flex:0 0 auto}
.bnav [hidden]{display:none!important}
.bstatus{margin-top:12px;font-size:.92rem;color:var(--gold-hi);min-height:1.2em}
.bstatus.err{color:#ff8a7a}
.saved{margin-top:6px;font-size:.8rem;color:var(--dim)}
.saved button{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:.8rem;padding:0;margin-left:6px}

/* live preview */
.pv{position:sticky;top:96px}
.pv summary{list-style:none;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;cursor:default}
.pv summary::-webkit-details-marker{display:none}
.pv-toggle{display:none}
.pv-frame{box-shadow:var(--shadow),0 0 0 1px rgba(216,181,106,.3),0 30px 80px -30px rgba(107,63,200,.55)}
.pv-site{--acc:#d8b56a;--bg:#0b0a0d;--ink2:#f4efe6;--mut:#a9a2b3;--hf:var(--serif);background:var(--bg);color:var(--ink2);position:relative;font-family:var(--sans);transition:background .3s,color .3s}
.pv-site[data-theme="light"]{--bg:#f6f4ef;--ink2:#17151b;--mut:#5d5966}
.pv-nav{display:flex;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid rgba(127,127,127,.18);font-size:.62rem}
.pv-logo{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;overflow:hidden;background:var(--acc);color:#111;flex:none}
.pv-logo b{font-size:.7rem;font-weight:800}
.pv-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pv-name{font-weight:800;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.pv-phone{margin-left:auto;display:flex;align-items:center;gap:4px;font-weight:800;white-space:nowrap}
.pv-phone .pi{width:16px;height:16px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2'/%3E%3C/svg%3E") center/9px no-repeat}
.pv-phone s{text-decoration:none;padding:3px 7px;border-radius:5px;border:1px solid var(--acc);color:var(--acc)}
.pv-phone s+s{background:var(--acc);color:#111}
.pv-cta{padding:5px 9px;border-radius:999px;background:var(--acc);color:#111;font-weight:800;white-space:nowrap}
.pv-hero{position:relative;padding:26px 14px 24px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 35%,#000) 0%,#0b0a0d 80%);background-size:cover;background-position:center;color:#fff}
.pv-hero.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.25))}
.pv-hero>*{position:relative}
.pv-eyebrow{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--acc)}
.pv-h{font-family:var(--hf);font-size:1.25rem;line-height:1.05;font-weight:600;letter-spacing:-.01em}
.pv-site[data-font="cond"] .pv-h{text-transform:uppercase;letter-spacing:.01em;font-weight:600;font-size:1.35rem}
.pv-site[data-font="serif"] .pv-h{font-style:italic;font-weight:500}
.pv-site[data-font="sans"] .pv-h{font-weight:800}
.pv-intro{font-size:.66rem;color:rgba(255,255,255,.78);max-width:92%}
.pv-btn{align-self:flex-start;margin-top:4px;padding:6px 11px;border-radius:999px;background:var(--acc);color:#111;font-size:.62rem;font-weight:800}
.pv-feats{display:flex;flex-wrap:wrap;gap:5px;padding:12px 10px 14px}
.pv-feats span{font-size:.56rem;font-weight:700;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);color:var(--ink2);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.pv-bar{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:5px;padding:7px 8px;border-top:1px solid rgba(127,127,127,.18);font-size:.56rem;font-weight:800}
.pv-bar span{padding:6px 4px;border-radius:6px;border:1px solid rgba(127,127,127,.35);text-align:center}
.pv-bar .go{background:var(--acc);color:#111;border-color:transparent}
.pv-bar[hidden]{display:none}
.pv-note{color:var(--dim);font-size:.8rem;margin-top:14px}
.pv-count{color:var(--gold-hi);font-size:.85rem;font-weight:700;margin-top:6px}

@media (max-width:1060px){
  .bwrap{grid-template-columns:1fr;gap:18px}
  .pv{position:relative;top:auto;order:-1;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--surface)}
  .pv summary{margin:0;cursor:pointer}
  .pv[open] summary{margin-bottom:12px}
  .pv-toggle{display:inline;font-size:.8rem;font-weight:700;color:var(--gold-hi)}
  .pv-in{max-width:460px;margin:0 auto}
}
@media (max-width:700px){
  .bhero{padding:112px 0 24px}
  .bform{padding:22px 16px 20px;border-radius:20px}
  .cards3{grid-template-columns:1fr 1fr}
  .ba{grid-template-columns:1fr 1fr}
  .btabs button{padding:8px 10px}
}
@media (max-width:420px){.cards2{grid-template-columns:1fr}}
