#demo-wrap{width:100%;max-width:700px;margin:0 auto;padding:0;min-height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-start;}
  .wazhop-modal-in[data-demo-state="step3"] #demo-wrap {
    display: none;
  }
  .wazhop-modal-in[data-demo-state="step4"] #demo-wrap {
    max-width: none;
  }
  .eyebrow{display:none}
  #demo-wrap h1{font-family:var(--display); letter-spacing:-0.03em;font-weight:700;font-size:clamp(2.4rem,5vw,3.6rem);line-height:0.95;letter-spacing:-.04em;margin-top:16px;text-wrap:balance}
  #demo-wrap .lede{color:var(--soft);margin-top:16px;font-size:clamp(16px, 1.5vw, 20px);line-height:1.45;max-width:600px;font-weight:500;text-wrap:balance}

  .form-container { margin-top: 40px; }
  #step1 {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  #wizard-1,
  #wizard-3,
  #step2,
  #step4 {
    margin:auto 0;
  }
  
  .field{margin-top:24px}
  .field:first-child{margin-top:0}
  #demo-wrap label{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
  label .tip{display:block;font-weight:400;color:var(--faint);font-size:13px;margin-top:4px;letter-spacing:0}
  #demo-wrap input, #demo-wrap textarea, #demo-wrap .sel select{
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    font: inherit;
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1.5px solid var(--line);
    background: rgba(255,255,255,0.05);
    color: var(--ink);
    letter-spacing: -.01em;
    transition: border-color .18s, box-shadow .18s, background .18s;
    outline: none;
  }
  #demo-wrap input {
    height: 60px;
    font-size: 16px;
  }
  #demo-wrap input::placeholder, #demo-wrap textarea::placeholder{color:rgba(255,255,255,0.4)}
  #demo-wrap input:focus, #demo-wrap textarea:focus, #demo-wrap .sel select:focus{
    outline: none;
    border-color: #fff;
    background: rgba(255,255,255,0.1);
    box-shadow: 0 0 0 4px rgba(255,255,255,0.15);
  }
  #demo-wrap textarea{min-height:200px;resize:vertical;line-height:1.5}
  .sel{position:relative}
  .sel select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}
  .sel svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none}

  /* segmented control */
  .seg{display:flex;gap:6px;background:rgba(255,255,255,0.05);border:1.5px solid var(--line);border-radius:13px;padding:5px}
  .seg button{flex:1;border:0;background:transparent;color:var(--soft);font:inherit;font-weight:600;font-size:14px;
    padding:11px 8px;border-radius:9px;cursor:pointer;transition:background .18s,color .18s;letter-spacing:-.01em}
  .seg button:hover{color:var(--ink);background:rgba(255,255,255,0.1)}
  .seg button.on{background:#fff;color:var(--tel-darker)}

  /* slideable language chips */
  .chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 90%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 90%,transparent)}
  .chips::-webkit-scrollbar{display:none}
  .chips button{flex:none;scroll-snap-align:start;white-space:nowrap;border:1.5px solid var(--line);
    background:rgba(255,255,255,0.05);color:var(--soft);font:inherit;font-weight:600;font-size:14px;letter-spacing:-.01em;
    padding:11px 18px;border-radius:100px;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
  .chips button:hover{border-color:#fff;color:var(--ink);background:rgba(255,255,255,0.1)}
  .chips button.on{background:#fff;color:var(--tel-darker);border-color:#fff}
  .hint{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,0.6);font-size:12.5px;margin-top:6px}
  .hint svg{width:14px;height:14px;flex:none}

  /* language modal */
  .modal{width:min(420px,92vw);border:1px solid rgba(255,255,255,0.15); background:rgba(0,0,0,0.1);border-radius:24px;
    background:var(--tel-orange);color:var(--ink);padding:0;box-shadow:0 40px 100px rgba(161, 72, 21, 0.4)}
  .modal::backdrop{background:rgba(161, 72, 21, 0.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .modal-card{padding:30px 28px}
  .modal-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;color:var(--tel-darker);
    background:#fff;box-shadow:0 8px 24px rgba(161, 72, 21, 0.2)}
  .modal-ic svg{width:28px;height:28px}
  .modal h3{font-family:var(--display); letter-spacing:-0.03em;font-size:1.6rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}
  .modal p{color:var(--soft);font-size:15px;line-height:1.55;margin-top:12px;font-weight:500}
  .modal-row{display:flex;flex-direction:column;gap:8px;margin-top:24px}
  .modal-row .go{margin-top:0}
  .modal-alt{background:none;border:0;color:var(--faint);font:inherit;font-weight:600;font-size:14px;cursor:pointer;padding:10px}
  .modal-alt:hover{color:var(--ink)}

  .go{display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid rgba(255,255,255,0.35);border-radius:100px;font:inherit;
    font-weight:600;font-size:15px;cursor:pointer;background:transparent;color:#fff;
    padding:14px 28px;width:100%;margin-top:32px;box-shadow:0 8px 20px rgba(0,0,0,0.1);
    transition:transform .15s var(--ease),background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
  .go:hover{background:#fff;color:var(--tel-darker);border-color:#fff;transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,0.15)}
  .go:active{transform:translateY(1px)}
  .go:disabled{opacity:.6;cursor:progress;transform:none;background:transparent;color:#fff;border-color:rgba(255,255,255,0.35)}
  .go svg{width:18px;height:18px}
  .hidden{display:none!important}
  .err{color:#fff;font-size:14px;margin-top:12px;font-weight:500;padding:8px 12px;background:rgba(255,255,255,0.1);border-radius:8px;border:1px solid rgba(255,255,255,0.15); background:rgba(0,0,0,0.1)}
  .back{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:rgba(255,255,255,0.8);
    font:inherit;font-weight:600;cursor:pointer;font-size:14px;margin-top:24px;padding:8px 0;transition:color 0.2s}
  .back:hover{color:#fff} .back svg{width:16px;height:16px}

  /* channel picker */
  .chans{display:grid;gap:14px;margin-top:16px}
  @media (min-width: 600px) and (max-width: 899px) {
    .chans{grid-template-columns: repeat(2, minmax(0, 1fr));}
  }
  @media (min-width: 900px) {
    .chans{grid-template-columns: repeat(3, minmax(0, 1fr));}
  }
  .chan{display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:rgba(255,255,255,0.03);
    border:1.5px solid rgba(255,255,255,0.2);border-radius:20px;padding:24px;cursor:pointer;
    transition:border-color .18s,transform .18s var(--ease),box-shadow .18s,background .18s}
  .chan:hover{border-color:#fff;background:rgba(255,255,255,0.06);transform:translateY(-3px);box-shadow:0 16px 40px rgba(161, 72, 21, 0.2)}
  @media (max-width: 599px) {
    .chan { flex-direction: row; align-items: center; padding: 18px; }
  }
  .chan .e{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:var(--tel-darker);
    background:#fff;box-shadow:0 6px 16px rgba(161, 72, 21, 0.15)}
  .chan .e svg{width:26px;height:26px}
  .chan .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
  .chan b{font-size:17px;font-weight:700;letter-spacing:-.02em}
  .chan p{color:rgba(255,255,255,0.7);font-size:13.5px;line-height:1.4;font-weight:500}
  
  .chan .pill{flex:none;white-space:nowrap;font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:100px;letter-spacing:.01em;border:1.5px solid rgba(255,255,255,0.3);transition:background 0.2s, color 0.2s}
  .pill.free{background:transparent;color:#fff}
  .chan:hover .pill.free{background:#fff;color:var(--tel-darker)}
  .pill.soon{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);border-color:transparent}
  .chan.soon{opacity:.5;cursor:not-allowed}
  .chan.soon:hover{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.03);transform:none;box-shadow:none}

  /* chat styled to look like WhatsApp so people recognise the channel */
  .chat{border:1px solid #05080a;border-radius:16px;overflow:hidden;margin-top:20px;
    display:flex;flex-direction:column;flex: 1; min-height: 400px; max-height: 800px;box-shadow:0 24px 60px rgba(0,0,0,.42)}
  .chead{display:flex;align-items:center;gap:11px;padding:10px 14px;background:#1f2c34}
  .chead .av{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#0b141a;background:#00a884}
  .chead .av svg{width:20px;height:20px}
  .chead b{font-size:15px;font-weight:600;letter-spacing:-.01em;display:block;color:#e9edef}
  .chead small{color:#8696a0;font-size:12px;display:flex;align-items:center;gap:5px}
  .chead small::before{content:"";width:6px;height:6px;border-radius:50%;background:#00d757}
  .msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:4px;
    background-color:#0b141a;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.035'%3E%3Ccircle cx='40' cy='44' r='11'/%3E%3Cpath d='M96 30l4 9 9 1-7 6 2 9-8-5-8 5 2-9-7-6 9-1z'/%3E%3Cpath d='M150 52c0-7 10-7 10 0 0 5-10 10-10 10s-10-5-10-10c0-7 10-7 10 0z'/%3E%3Crect x='196' y='32' width='22' height='16' rx='3'/%3E%3Cpath d='M40 122a12 10 0 1 0-16 7l-3 7 8-3a12 10 0 0 0 11-11z'/%3E%3Cpath d='M120 118l8 8-8 8-8-8z'/%3E%3Ccircle cx='210' cy='128' r='11'/%3E%3Cpath d='M204 128h12M210 122v12'/%3E%3Cpath d='M40 212l4 9 9 1-7 6 2 9-8-5-8 5 2-9-7-6 9-1z'/%3E%3Cpath d='M150 205c0-7 10-7 10 0 0 5-10 10-10 10s-10-5-10-10c0-7 10-7 10 0z'/%3E%3Crect x='196' y='202' width='20' height='16' rx='8'/%3E%3Cpath d='M112 198a12 10 0 1 0-16 7l-3 7 8-3a12 10 0 0 0 11-11z'/%3E%3C/g%3E%3C/svg%3E")}
  .wa-note{align-self:center;max-width:92%;text-align:center;font-size:11.5px;line-height:1.4;color:#d9c98a;
    background:#182a2f;border-radius:8px;padding:7px 13px;margin:2px auto 8px;box-shadow:0 1px 1px rgba(0,0,0,.25)}
  .b{max-width:82%;padding:7px 10px 8px;border-radius:9px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;
    color:#e9edef;box-shadow:0 1px 1px rgba(0,0,0,.25);animation:pop .26s var(--ease)}
  @keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .b.me{align-self:flex-end;background:#005c4b;border-top-right-radius:2px}
  .b.ai{align-self:flex-start;background:#1f2c34;border-top-left-radius:2px}
  .b.sys{align-self:center;background:transparent;color:#8696a0;font-size:12px;text-align:center;box-shadow:none}
  .left{font-size:11.5px;color:#8696a0;text-align:center;padding:7px;font-family:var(--mono); text-transform:uppercase; letter-spacing:0.04em;letter-spacing:.03em;background:#0b141a}
  .cbar{display:flex;gap:8px;padding:9px 10px;background:#0b141a;align-items:center}
  .cbar input{flex:1;background:#1f2c34;border:0;border-radius:100px;padding:12px 17px;color:#e9edef}
  .cbar input::placeholder{color:#8696a0}
  .cbar input:focus{outline:none;box-shadow:none;border:0}
  .cbar button{flex:none;width:46px;height:46px;border-radius:50%;background:#00a884;color:#0b141a;border:0;cursor:pointer;display:grid;place-items:center;transition:filter .15s,transform .12s}
  .cbar button:hover{filter:brightness(1.05)} .cbar button:active{transform:scale(.94)}
  .cbar button svg{width:20px;height:20px}
  .demo-buttons-container{display:flex;gap:16px;margin-bottom:24px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent)}
  .demo-buttons-container::-webkit-scrollbar{display:none}
  .mcd-demo-btn{flex:none;scroll-snap-align:start;background:transparent;border:none;padding:0;cursor:pointer;transition:transform 0.2s, filter 0.2s; border-radius: 16px; overflow: hidden; display: block;}
  .mcd-demo-btn:hover{transform:translateY(-2px); filter: brightness(1.1); box-shadow:0 8px 16px rgba(0,0,0,0.4);}
  .mcd-demo-btn:active{transform:translateY(0)}
  .mcd-demo-btn img{width:80px;height:80px;border-radius:16px;object-fit:cover; display: block;}

  /* Wizard Additions */
  .wiz-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
  }
  .wiz-nav .go {
    margin-top: 0;
    flex: 0 0 auto;
    width: auto;
    padding: 14px 32px;
  }
  .wiz-nav .back {
    margin-top: 0;
    flex: 0 0 auto;
    padding: 14px 24px;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.6);
    font: inherit;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: color 0.2s;
  }
  .wiz-nav .back:hover {
    color: #fff;
  }
  .wiz-nav .back:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #fff;
  }

.demo-btn {
    appearance: none;
    font: inherit;
    font-weight: 600;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 999px;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, opacity .2s ease, color .2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.demo-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.demo-btn-primary {
    background: #fff;
    border: 1.5px solid #fff;
    color: var(--wazhop-surface, #e05e1f);
}
.demo-btn-primary:hover:not(:disabled) {
    background: transparent;
    color: #fff;
}
.demo-btn-secondary {
    background: transparent;
    border: 1.5px solid rgba(255,255,255,.45);
    color: #fff;
}
.demo-btn-secondary:hover:not(:disabled) {
    border-color: #fff;
}
.demo-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(255,255,255,0.25);
}
#step3 { display: flex; flex-direction: column; flex: 1; min-height: 0; height: 100%; }
#step3.hidden { display: none !important; }

/* ---------- FAQ Modal ---------- */
.faq-modal {
  --wazhop-surface: var(--tel-dark);
  background: var(--wazhop-surface);
  color: #fff;
  overscroll-behavior: none;
}
.faq-modal-in {
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: clamp(24px, 5vw, 40px);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  max-height: 100%;
}
.faq-header {
  font-family: var(--display);
  position: sticky;
  top: 0;
  background: var(--wazhop-surface);
  z-index: 5;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 0;

  font-weight: 700;
  font-size: clamp(2rem, 4vw, 2.8rem);
  letter-spacing: -0.03em;
  margin-top: 16px;
  margin-bottom: 32px;
  text-wrap: balance;
  color: #fff;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.faq-q {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  color: #fff;
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.15rem;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  gap: 16px;
  line-height: 1.3;
}
.faq-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  transition: transform 0.25s var(--ease);
  color: rgba(255,255,255,0.6);
}
.faq-q[aria-expanded="true"] .faq-icon {
  transform: rotate(180deg);
  color: #e05e1f; /* WaZhop orange accent */
}
.faq-a-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s var(--ease);
}
.faq-q[aria-expanded="true"] + .faq-a-wrapper {
  grid-template-rows: 1fr;
}
.faq-a {
  overflow: hidden;
  color: rgba(255,255,255,0.85); /* Warm secondary text */
  font-family: var(--sans);
  font-size: 1.05rem;
  line-height: 1.6;
}
.faq-a p {
  margin: 0 0 16px 0;
}
.faq-a p:last-child {
  margin-bottom: 24px;
}

.faq-modal-in::-webkit-scrollbar { display: none; }

.faq-q:focus-visible { outline: none; background: rgba(255,255,255,0.03); border-radius: 8px; }

/* Spacing for back buttons in demo flow */
#back2, #back3, #back4 {
  margin-top: 32px;
}

#step4 {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#step4.hidden {
  display: none !important;
}

#callIframe {
  flex: 1;
  min-height: 0;
}

#back4 {
  align-self: center;
  margin-top: auto;
  margin-bottom: calc(16px + env(safe-area-inset-bottom));
}

@media (max-width: 768px) {
  #step3 {
    margin: calc(-20px - env(safe-area-inset-top)) calc(-20px - env(safe-area-inset-right)) calc(-20px - env(safe-area-inset-bottom)) calc(-20px - env(safe-area-inset-left));
    height: auto;
    min-height: calc(100% + 40px + env(safe-area-inset-top) + env(safe-area-inset-bottom));
  }
  .chat {
    border-radius: 0;
    border-left: none;
    border-right: none;
    margin-top: 0;
  }
  #back3 {
    margin: 16px !important;
  }
}
