/* Full-page registration wizard (/register-business/start). One question per screen. */
.rw-page {
  --rw-primary: #004aad;
  --rw-primary-dark: #003a8d;
  --rw-green: #00bf63;
  --rw-text: #1f2937;
  --rw-muted: #6b7280;
  --rw-border: #d1d5db;
  --rw-soft: #e7f1ff;
  --rw-error: #c62828;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: var(--rw-text);
}
.rw-top { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; max-width: 760px; width: 100%; margin: 0 auto; }
.rw-logo img { display: block; }
.rw-progress-text { font-size: .9rem; color: var(--rw-muted); font-weight: 600; }
.rw-exit { color: var(--rw-muted); font-size: 1.2rem; text-decoration: none; padding: 6px; }
.rw-exit:hover { color: var(--rw-text); }
.rw-progress { height: 4px; background: #eef2f7; }
.rw-progress-bar { height: 100%; width: 0; background: var(--rw-primary); transition: width .25s ease; }

.rw-main { flex: 1; width: 100%; max-width: 560px; margin: 0 auto; padding: 36px 20px 120px; }
.rw-step[hidden] { display: none !important; }
.rw-q { font-size: clamp(1.5rem, 4.5vw, 2rem); font-weight: 800; line-height: 1.2; margin: 0 0 .5rem; color: var(--rw-text); }
.rw-help { color: var(--rw-muted); font-size: 1.02rem; margin: 0 0 1.5rem; }
.rw-label { display: block; font-weight: 700; font-size: .92rem; margin: 1.1rem 0 .4rem; }

.rw-input {
  width: 100%; font-size: 1.1rem; padding: .85rem 1rem; border: 1.5px solid var(--rw-border);
  border-radius: 12px; background: #fff; color: var(--rw-text); font-family: inherit;
}
.rw-input:focus { outline: 0; border-color: var(--rw-primary); box-shadow: 0 0 0 4px rgba(0, 74, 173, .12); }
textarea.rw-input { resize: vertical; }
.rw-otp-input { letter-spacing: .5em; text-align: center; font-size: 1.5rem; font-weight: 700; }

.rw-error { color: var(--rw-error); font-size: .95rem; margin: .75rem 0 0; font-weight: 600; }
.rw-ok { color: #15803d; font-weight: 700; margin: .9rem 0 0; }
.rw-count { color: var(--rw-muted); font-size: .9rem; margin: .5rem 0 0; }
.rw-empty { color: var(--rw-muted); margin-top: 1rem; }

/* Category */
.rw-search { position: relative; }
.rw-search > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--rw-muted); }
.rw-search .rw-input { padding-left: 2.6rem; }
.rw-cat-list { margin-top: 1rem; max-height: 52vh; overflow-y: auto; border: 1.5px solid var(--rw-border); border-radius: 12px; }
.rw-cat { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; background: #fff; border: 0; border-bottom: 1px solid #eef0f3; padding: .95rem 1rem; font-size: 1.02rem; color: var(--rw-text); cursor: pointer; }
.rw-cat:last-child { border-bottom: 0; }
.rw-cat:hover, .rw-cat:focus-visible { background: var(--rw-soft); outline: 0; }
.rw-cat.is-selected { background: var(--rw-soft); font-weight: 700; color: var(--rw-primary); }
.rw-cat.is-selected::after { content: "\2713"; }

/* Location */
.rw-loc-line { margin-top: 1rem; font-weight: 700; color: var(--rw-primary); }

/* Services */
.rw-suggest { background: #f6f8fc; border-radius: 14px; padding: 14px; margin-bottom: 1.25rem; }
.rw-suggest-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.rw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rw-chip { border: 1.5px solid var(--rw-primary); color: var(--rw-primary); background: #fff; border-radius: 999px; padding: .45rem .9rem; font-size: .95rem; font-weight: 600; cursor: pointer; }
.rw-chip::before { content: "+ "; }
.rw-chip:hover { background: var(--rw-soft); }
.rw-chip.is-added { background: var(--rw-primary); color: #fff; }
.rw-chip.is-added::before { content: "\2713 "; }
.rw-loading { color: var(--rw-muted); font-size: .95rem; }
.rw-add { display: flex; gap: 10px; }
.rw-service-list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 8px; }
.rw-service-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1.5px solid var(--rw-border); border-radius: 12px; padding: .65rem .9rem; font-weight: 600; }
.rw-service-list button { background: none; border: 0; color: var(--rw-muted); font-size: 1.1rem; padding: 4px 8px; cursor: pointer; }
.rw-service-list button:hover { color: var(--rw-error); }

/* Phone / OTP */
.rw-phone { display: flex; gap: 10px; align-items: stretch; }
.rw-prefix { display: flex; align-items: center; padding: 0 1rem; border: 1.5px solid var(--rw-border); border-radius: 12px; background: #f6f8fc; font-weight: 700; font-size: 1.1rem; }
.rw-otp-links { display: flex; justify-content: space-between; margin-top: .6rem; }

/* Buttons */
.rw-btn { border: 0; border-radius: 999px; padding: .9rem 2rem; font-size: 1.05rem; font-weight: 700; background: var(--rw-primary); color: #fff; cursor: pointer; transition: background .12s ease, transform .12s ease; white-space: nowrap; }
.rw-btn:hover { background: var(--rw-primary-dark); }
.rw-btn:focus-visible { outline: 3px solid rgba(0, 74, 173, .35); outline-offset: 2px; }
.rw-btn[disabled] { opacity: .55; cursor: not-allowed; }
.rw-btn--ghost { background: #fff; color: var(--rw-primary); border: 1.5px solid var(--rw-primary); }
.rw-btn--ghost:hover { background: var(--rw-soft); }
.rw-link { background: none; border: 0; color: var(--rw-primary); font-weight: 700; padding: 0; cursor: pointer; font-size: .95rem; }
.rw-link[disabled] { color: var(--rw-muted); cursor: default; }

.rw-bottom { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-top: 1px solid #eef0f3; padding: 12px 20px; display: flex; justify-content: space-between; gap: 12px; max-width: 100%; z-index: 20; }
.rw-bottom .rw-btn { min-width: 120px; }
.rw-bottom #rwNext { flex: 1; max-width: 360px; margin-left: auto; }
.rw-bottom[hidden] { display: none; }

.rw-creating { text-align: center; padding-top: 60px; }
.rw-creating .spinner-border { width: 3rem; height: 3rem; margin-bottom: 1.5rem; }

@media (max-width: 575px) {
  .rw-main { padding-top: 24px; }
  .rw-bottom { padding: 10px 14px; }
  .rw-bottom .rw-btn { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .rw-progress-bar, .rw-btn { transition: none; } }

/* Resume notice + loading state */
.rw-resume { background: #e7f6ec; color: #14532d; border: 1px solid #b7e4c7; border-radius: 12px; padding: .75rem 1rem; margin-bottom: 1.25rem; font-weight: 600; font-size: .95rem; }
.rw-resume[hidden] { display: none; }
.rw-resume i { margin-right: .35rem; }

/* Service rows with a price each */
.rw-service-list li.rw-svc { display: block; padding: .75rem .9rem; }
.rw-svc-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rw-svc-name { font-weight: 700; }
.rw-svc-price { display: flex; align-items: center; gap: 10px; margin-top: .6rem; flex-wrap: wrap; }
.rw-rupee { font-weight: 800; font-size: 1.1rem; color: var(--rw-muted); }
.rw-price-input { width: 9rem; padding: .55rem .8rem; font-size: 1rem; }
.rw-onreq { display: inline-flex; align-items: center; gap: .4rem; font-size: .9rem; font-weight: 600; color: var(--rw-muted); cursor: pointer; margin: 0; }
.rw-onreq input { width: 1.1rem; height: 1.1rem; accent-color: var(--rw-primary); }
.rw-service-list li.is-missing { border-color: var(--rw-error); background: #fff5f5; }
.rw-service-list li.is-missing .rw-price-input { border-color: var(--rw-error); }

/* ---------- "Finish your page" screens (/owner/business/:id/setup) ---------- */
.rw-skip { margin: 0 auto 0 14px; white-space: nowrap; }
.rw-skip[hidden] { display: none; }
.rw-bottom #sNext { flex: 1; max-width: 260px; margin-left: 0; }

.rw-cover { position: relative; border: 2px dashed var(--rw-border); border-radius: 16px; aspect-ratio: 16 / 7; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f6f8fc; margin-bottom: 1rem; cursor: pointer; }
.rw-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rw-cover img[hidden], .rw-cover-empty[hidden] { display: none; }
.rw-cover-empty { display: flex; flex-direction: column; align-items: center; gap: .4rem; color: var(--rw-muted); font-weight: 600; }
.rw-cover-empty i { font-size: 2rem; }

.rw-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 1.25rem; }
.rw-seg-opt { border: 1.5px solid var(--rw-border); border-radius: 12px; padding: .85rem 1rem; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: .5rem; }
.rw-seg-opt:has(input:checked) { border-color: var(--rw-primary); background: var(--rw-soft); color: var(--rw-primary); }
.rw-seg-opt input { accent-color: var(--rw-primary); }
.rw-hours-tools { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: .75rem; }
.rw-hrow { display: grid; grid-template-columns: 5.5rem auto 1fr auto 1fr; align-items: center; gap: 8px; padding: .45rem 0; border-bottom: 1px solid #eef0f3; }
.rw-hday { font-weight: 700; }
.rw-time { padding: .5rem .6rem; font-size: 1rem; min-width: 0; }
.rw-to { color: var(--rw-muted); font-size: .9rem; }
@media (max-width: 575px) {
  .rw-hrow { grid-template-columns: 1fr auto; row-gap: 6px; }
  .rw-hrow .rw-time, .rw-hrow .rw-to { grid-column: auto; }
  .rw-hrow .rw-to { display: none; }
  .rw-hrow .rw-time[data-open] { grid-column: 1; } .rw-hrow .rw-time[data-close] { grid-column: 2; }
}

.rw-linkrow .rw-label i, .rw-vrow .rw-label i { margin-right: .35rem; color: var(--rw-primary); }
.rw-vrow { margin-bottom: 1.25rem; }
.rw-vtitle { margin-top: .5rem; font-size: 1rem; }

.rw-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.rw-tile { display: flex; flex-direction: column; gap: 6px; }
.rw-tile-pick { aspect-ratio: 1 / 1; border: 2px dashed var(--rw-border); border-radius: 14px; background: #f6f8fc; padding: 0; overflow: hidden; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.rw-tile.has-img .rw-tile-pick { border-style: solid; border-color: var(--rw-green); }
.rw-tile-pick img { width: 100%; height: 100%; object-fit: cover; }
.rw-tile-empty { font-size: 2rem; color: var(--rw-muted); }
.rw-tile-name { font-weight: 700; font-size: .95rem; line-height: 1.25; }
.rw-tile-state { font-size: .85rem; color: var(--rw-primary); font-weight: 600; }

.rw-done { text-align: center; padding-top: 24px; }
.rw-done-icon { font-size: 3.5rem; color: var(--rw-green); line-height: 1; margin-bottom: .75rem; }
.rw-linkbox { background: #f6f8fc; border: 1.5px solid var(--rw-border); border-radius: 12px; padding: .85rem 1rem; font-weight: 700; color: var(--rw-primary); word-break: break-all; margin: 1rem 0 1.5rem; }
.rw-done-actions { display: grid; gap: 12px; justify-items: stretch; }
.rw-done-actions .rw-btn { text-decoration: none; text-align: center; }
.rw-done-actions .rw-link { text-decoration: none; justify-self: center; margin-top: .5rem; }

/* Setup screens: three actions fit on a phone-width bottom bar */
@media (max-width: 575px) {
  .rw-bottom { gap: 8px; }
  .rw-bottom #sBack { padding: .8rem 1rem; min-width: 0; }
  .rw-bottom .rw-skip { margin: 0 auto 0 4px; font-size: .88rem; }
  .rw-bottom #sNext { flex: 1 1 auto; max-width: none; padding: .8rem .75rem; font-size: .98rem; min-width: 0; }
}

/* Review screen */
.rw-rv { border: 1.5px solid var(--rw-border); border-radius: 14px; padding: .9rem 1rem; margin-bottom: 12px; background: #fff; }
.rw-rv-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .35rem; }
.rw-rv-head h2 { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--rw-muted); margin: 0; }
.rw-rv-body p { margin: 0 0 .5rem; line-height: 1.5; }
.rw-rv-body p:last-child { margin-bottom: 0; }
.rw-rv-muted { color: var(--rw-muted); font-size: .92rem; }
.rw-rv-ok { color: #15803d; font-weight: 700; font-size: .9rem; white-space: nowrap; }
.rw-rv-wait { color: var(--rw-muted); font-size: .92rem; }
.rw-rv-svc { padding: .6rem 0; border-top: 1px solid #eef0f3; }
.rw-rv-svc:first-child { border-top: 0; padding-top: 0; }
.rw-rv-svc-top { display: flex; justify-content: space-between; gap: 12px; }
.rw-rv-svc-top span { color: var(--rw-primary); font-weight: 700; white-space: nowrap; }
.rw-rv-svc p { color: #374151; font-size: .93rem; margin-top: .25rem; }

/* Consent block (last screen) */
.rw-consent { margin: 1.5rem 0 .5rem; padding: 1rem; border: 1.5px solid var(--rw-border); border-radius: 14px; background: #f9fafc; }
.rw-check { display: flex; gap: .7rem; align-items: flex-start; font-size: .92rem; line-height: 1.5; margin: 0 0 .85rem; cursor: pointer; }
.rw-check:last-of-type { margin-bottom: .25rem; }
.rw-check input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: 0 0 auto; accent-color: var(--rw-primary); cursor: pointer; }
.rw-check a { color: var(--rw-primary); font-weight: 700; }
.rw-consent .rw-error { margin-top: .5rem; }

/* Messages scroll into view above the fixed bottom bar (and the cookie banner when it is showing) */
.rw-error, .rw-ok, .rw-count { scroll-margin-bottom: calc(var(--rw-bar-offset, 0px) + 110px); }

/* "Already signed in" notice on the last screen */
.rw-alert { border: 1.5px solid #f0c36d; background: #fff8e6; border-radius: 14px; padding: 1rem; margin: 1rem 0; }
.rw-alert p { margin: .4rem 0 .9rem; color: #5b4a12; }
.rw-alert-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.rw-alert-actions .rw-btn { text-decoration: none; text-align: center; padding: .75rem 1.4rem; font-size: 1rem; }

/* Plan screen */
.rw-price { display: flex; align-items: baseline; gap: .5rem; margin: .25rem 0 1rem; }
.rw-price-amount { font-size: 2.6rem; font-weight: 800; line-height: 1; color: var(--rw-text); }
.rw-price-period { color: var(--rw-muted); font-weight: 600; }
.rw-save { display: inline-block; background: #e6f9ee; color: #15803d; font-weight: 800; font-size: .72rem; padding: .1rem .5rem; border-radius: 999px; margin-left: .35rem; vertical-align: middle; }
.rw-save:empty { display: none; }
.rw-feat { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .8rem; }
.rw-feat li { display: flex; gap: .85rem; align-items: flex-start; }
.rw-feat i { width: 2.2rem; height: 2.2rem; flex: 0 0 auto; border-radius: 10px; background: var(--rw-soft); color: var(--rw-primary); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.rw-feat strong { display: block; font-size: .98rem; }
.rw-feat span { display: block; color: var(--rw-muted); font-size: .9rem; }

.rw-trial { display: inline-block; background: #e6f9ee; color: #15803d; font-weight: 800; font-size: .85rem; padding: .3rem .8rem; border-radius: 999px; margin: 0 0 1rem; }
.rw-trial[hidden] { display: none; }

/* Logo box + upload spinners / locking */
.rw-logo-box { width: 180px; height: 180px; margin: 0 0 1rem; border: 2px dashed var(--rw-border); border-radius: 18px; background: #f6f8fc; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; }
.rw-logo-box img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rw-logo-box img[hidden] { display: none; }
.rw-tile { position: relative; }
.rw-tile-pick { position: relative; }
.rw-tile-spin { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(255, 255, 255, .78); }
.rw-tile.is-uploading .rw-tile-spin { display: flex; }
.rw-tile-spin .spinner-border { width: 2.4rem; height: 2.4rem; color: var(--rw-primary); }
.rw-tile.is-uploading .rw-tile-state { color: var(--rw-primary); font-weight: 800; }
.rw-svc-grid.is-locked .rw-tile:not(.is-uploading) { opacity: .45; pointer-events: none; }
.rw-svc-grid.is-locked .rw-tile-pick { cursor: wait; }
.rw-btn[disabled], .rw-link[disabled] { cursor: not-allowed; }

/* Stock photos (added automatically from Pexels) */
.rw-tile-badge { position: absolute; top: 8px; left: 8px; background: rgba(0, 0, 0, .62); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .04em; padding: .15rem .5rem; border-radius: 999px; z-index: 1; }
.rw-tile.is-stock .rw-tile-pick { border-color: #f0c36d; }
.rw-tile.is-stock .rw-tile-state { color: #8a6b1f; }

/* appointments step */
.rw-days { display: flex; flex-wrap: wrap; gap: 8px; margin: .35rem 0 1rem; }
.rw-day { cursor: pointer; }
.rw-day input { position: absolute; opacity: 0; pointer-events: none; }
.rw-day span { display: inline-block; min-width: 3.2rem; text-align: center; padding: .55rem .8rem; border: 1.5px solid var(--rw-border); border-radius: 999px; font-weight: 700; }
.rw-day input:checked + span { border-color: var(--rw-primary); background: var(--rw-soft); color: var(--rw-primary); }
.rw-day input:focus-visible + span { box-shadow: 0 0 0 4px rgba(0, 74, 173, .15); }
.rw-appt-times { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 12px; }
@media (max-width: 575.98px) { .rw-appt-times { grid-template-columns: 1fr 1fr; } .rw-appt-times > div:last-child { grid-column: 1 / -1; } }

/* services step: why a price helps, and the one tick for "my prices depend on the job" */
.rw-tip { display: flex; gap: .5rem; align-items: flex-start; background: #ecfdf3; border: 1px solid #abefc6; color: #067647; border-radius: 12px; padding: .55rem .8rem; font-size: .9rem; margin: .2rem 0 .9rem; }
.rw-tip i { margin-top: .15rem; }
.rw-onreq-all { margin-top: .7rem; padding: .55rem .8rem; border: 1.5px dashed var(--rw-border, #d5dbe6); border-radius: 12px; width: 100%; }

/* mobile step: the code is sent on WhatsApp, say so before and after sending */
.rw-wa { display: flex; gap: .55rem; align-items: flex-start; background: #e8f8ee; border: 1px solid #b7e6c7; color: #0b5d2a; border-radius: 12px; padding: .6rem .85rem; font-size: .92rem; margin: .2rem 0 .9rem; }
.rw-wa[hidden] { display: none; }
.rw-wa i { color: #25d366; font-size: 1.25rem; line-height: 1.1; }
.rw-wa-sent { margin-top: 0; }

/* optional travel step: amenity chips, a row of short fields, FAQ pairs, the skip link */
.rw-two { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.rw-two > div { min-width: 0; }
.rw-opt { font-weight: 500; color: var(--rw-muted, #667085); font-size: .85rem; margin-left: .3rem; }
.rw-chk-grid { display: flex; flex-wrap: wrap; gap: .5rem; margin: .4rem 0 .6rem; }
.rw-chk-chip { position: relative; cursor: pointer; }
.rw-chk-chip input { position: absolute; opacity: 0; pointer-events: none; }
.rw-chk-chip span { display: inline-flex; align-items: center; gap: .35rem; border: 1.5px solid var(--rw-border, #d5dbe6); border-radius: 999px; padding: .42rem .9rem; font-size: .92rem; background: #fff; transition: background .15s, border-color .15s, color .15s; }
.rw-chk-chip input:checked + span { background: #eaf2ff; border-color: var(--rw-primary, #004aad); color: var(--rw-primary, #004aad); font-weight: 700; }
.rw-chk-chip input:checked + span::before { content: '\2713'; font-weight: 800; }
.rw-chk-chip input:focus-visible + span { outline: 2px solid var(--rw-primary, #004aad); outline-offset: 2px; }
.rw-faq { margin-bottom: .8rem; display: grid; gap: .4rem; }
.rw-skip { text-align: center; margin: 1.2rem 0 0; }
@media (max-width: 575.98px) { .rw-two { grid-template-columns: 1fr 1fr; } .rw-two > div:first-child { grid-column: 1 / -1; } }
.rw-hint { display: block; color: var(--rw-muted, #6b7280); font-size: .8rem; margin-top: .3rem; line-height: 1.3; }
.rw-time-other { margin-top: .4rem; }
.rw-time-other[hidden] { display: none; }
