/* /Components/Pages/About.razor.rz.scp.css */
/* ---- why we started: the two sides ----------------------------- */
.ab-side[b-uvwmu7w1nc] {
  height: 100%;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  padding: 1.25rem 1.35rem 1.35rem;
}

.ab-side-h[b-uvwmu7w1nc] {
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.015em;
  line-height: 1.25;
  margin: 0 0 .5rem;
}

.ab-side-p[b-uvwmu7w1nc] {
  font-family: var(--sc-voice);
  font-size: .96rem;
  line-height: 1.6;
  color: var(--sc-ink-2);
}

/* The answer reads as the conclusion of the two cards above it. */
.ab-answer[b-uvwmu7w1nc] {
  font-family: var(--sc-voice);
  font-size: 1.12rem;
  line-height: 1.55;
  color: var(--sc-ink);
  border-left: 3px solid var(--sc-go);
  padding-left: 1rem;
}

.ab-more[b-uvwmu7w1nc] {
  font-family: var(--sc-voice);
  color: var(--sc-ink-2);
}

.ab-more a[b-uvwmu7w1nc] {
  color: var(--sc-go-dk);
  text-underline-offset: 3px;
}

/* A quiet button that reads on the dark owner band. */
.ab-btn-owner[b-uvwmu7w1nc] {
  color: #fff;
  border-color: rgba(255, 255, 255, .35);
  background: transparent;
}

.ab-btn-owner:hover[b-uvwmu7w1nc] {
  color: #fff;
  border-color: #fff;
}
/* /Components/Pages/Account/AccountHome.razor.rz.scp.css */
.acc-facts[b-syh36y86uy] {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .45rem 1.25rem;
  margin-bottom: 1.75rem;
}

.acc-facts dt[b-syh36y86uy] {
  font-family: var(--sc-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  padding-top: .2rem;
}

.acc-facts dd[b-syh36y86uy] {
  margin: 0;
  font-weight: 600;
  color: var(--sc-ink);
  overflow-wrap: anywhere;
}

.acc-h[b-syh36y86uy] {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.01em;
  padding-top: 1.25rem;
  border-top: 1px dashed var(--sc-line);
  margin-bottom: .6rem;
}

.acc-shops[b-syh36y86uy] {
  margin: 0;
  padding-left: 1.1rem;
}

.acc-actions[b-syh36y86uy] {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
/* /Components/Pages/Admin/AccountDetail.razor.rz.scp.css */
.sc-eyebrow a[b-d3obdh38hc] {
  color: inherit;
}

.acd-sub[b-d3obdh38hc] {
  font-family: var(--sc-data);
  font-size: .85rem;
  color: var(--sc-ink-3);
  margin-bottom: 1.5rem;
}

.acd-done[b-d3obdh38hc] {
  margin-bottom: 1.25rem;
  padding: .75rem 1rem;
  border-left: 3px solid var(--sc-go);
  background: rgba(29, 107, 72, .08);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
  font-size: .92rem;
}

.acd-grid[b-d3obdh38hc] {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 992px) {
  .acd-grid[b-d3obdh38hc] {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
}

.acd-card[b-d3obdh38hc] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  padding: 1.25rem 1.35rem;
}

.acd-card + .acd-card[b-d3obdh38hc] {
  margin-top: 1.25rem;
}

.acd-h[b-d3obdh38hc] {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  margin-bottom: .85rem;
}

.acd-muted[b-d3obdh38hc] {
  color: var(--sc-ink-3);
  font-size: .9rem;
}

.acd-shops[b-d3obdh38hc] {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.acd-shops li[b-d3obdh38hc] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 0;
  border-bottom: 1px solid var(--sc-line);
}

.acd-shops li:last-child[b-d3obdh38hc] {
  border-bottom: 0;
}

.acd-shops a[b-d3obdh38hc] {
  font-weight: 700;
  color: var(--sc-ink);
}

.acd-found[b-d3obdh38hc] {
  margin-top: .75rem;
  border-top: 1px dashed var(--sc-line);
}

.acd-meta[b-d3obdh38hc] {
  display: block;
  font-family: var(--sc-data);
  font-size: .74rem;
  color: var(--sc-ink-3);
}

.acd-label[b-d3obdh38hc] {
  display: block;
  font-weight: 700;
  font-size: .86rem;
  margin-bottom: .35rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--sc-line);
}

.acd-search[b-d3obdh38hc] {
  display: flex;
  gap: .5rem;
}

.acd-link-btn[b-d3obdh38hc] {
  background: none;
  border: 0;
  padding: 0;
  font-size: .82rem;
  font-weight: 700;
  color: var(--sc-red);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  white-space: nowrap;
}

.acd-facts[b-d3obdh38hc] {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .4rem 1.1rem;
  margin: 0;
  font-size: .9rem;
}

.acd-facts dt[b-d3obdh38hc] {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  padding-top: .2rem;
}

.acd-facts dd[b-d3obdh38hc] {
  margin: 0;
  color: var(--sc-ink);
  overflow-wrap: anywhere;
}

.acd-actions[b-d3obdh38hc] {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.acd-danger[b-d3obdh38hc] {
  color: var(--sc-red);
}

.acd-tag[b-d3obdh38hc] {
  display: inline-block;
  font-family: var(--sc-display);
  font-size: .7rem;
  font-weight: 800;
  padding: .1rem .45rem;
  border-radius: 4px;
  margin-left: .35rem;
  white-space: nowrap;
}

.acd-tag-admin[b-d3obdh38hc] {
  background: var(--sc-ink);
  color: #fff;
}

.acd-tag-warn[b-d3obdh38hc] {
  background: rgba(217, 138, 18, .16);
  color: #8a5608;
}

.acd-tag-bad[b-d3obdh38hc] {
  background: rgba(178, 58, 44, .12);
  color: var(--sc-red);
}
/* /Components/Pages/Admin/Accounts.razor.rz.scp.css */
.adm-head[b-yjvgglxk1c] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.adm-search[b-yjvgglxk1c] {
  display: flex;
  gap: .5rem;
  flex: 1 1 18rem;
  max-width: 26rem;
}

.adm-filters[b-yjvgglxk1c] {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 1.25rem 0 1rem;
}

.adm-filters a[b-yjvgglxk1c] {
  font-size: .82rem;
  font-weight: 700;
  color: var(--sc-ink-2);
  text-decoration: none;
  padding: .3rem .75rem;
  border: 1.5px solid var(--sc-line);
  border-radius: 999px;
}

.adm-filters a:hover[b-yjvgglxk1c] {
  border-color: var(--sc-ink-3);
}

.adm-filters a.is-on[b-yjvgglxk1c] {
  background: var(--sc-ink);
  border-color: var(--sc-ink);
  color: #fff;
}

.adm-table-wrap[b-yjvgglxk1c] {
  overflow-x: auto;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
}

/* Scrolls sideways in its wrapper on phones rather than squeezing emails to a letter a line. */
.adm-table[b-yjvgglxk1c] {
  width: 100%;
  min-width: 52rem;
  border-collapse: collapse;
  font-size: .88rem;
}

.adm-table th[b-yjvgglxk1c] {
  font-family: var(--sc-data);
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  text-align: left;
  padding: .75rem .9rem;
  border-bottom: 1.5px solid var(--sc-line);
  white-space: nowrap;
}

.adm-table td[b-yjvgglxk1c] {
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--sc-line);
  vertical-align: top;
  color: var(--sc-ink-2);
}

.adm-table tr:last-child td[b-yjvgglxk1c] {
  border-bottom: 0;
}

.adm-table .num[b-yjvgglxk1c] {
  text-align: right;
}

.adm-name[b-yjvgglxk1c] {
  font-weight: 800;
  color: var(--sc-ink);
  text-decoration: none;
}

.adm-name:hover[b-yjvgglxk1c] {
  color: var(--sc-go-dk);
  text-decoration: underline;
}

.adm-sub[b-yjvgglxk1c] {
  display: block;
  font-family: var(--sc-data);
  font-size: .75rem;
  color: var(--sc-ink-3);
}

.adm-email[b-yjvgglxk1c] {
  overflow-wrap: anywhere;
  min-width: 12rem;
}

.adm-date[b-yjvgglxk1c] {
  font-family: var(--sc-data);
  font-size: .78rem;
  white-space: nowrap;
}

.adm-tag[b-yjvgglxk1c] {
  display: inline-block;
  font-size: .7rem;
  font-weight: 800;
  padding: .1rem .45rem;
  border-radius: 4px;
  margin: 0 .25rem .2rem 0;
  white-space: nowrap;
}

.adm-tag-admin[b-yjvgglxk1c] {
  background: var(--sc-ink);
  color: #fff;
}

.adm-tag-warn[b-yjvgglxk1c] {
  background: rgba(217, 138, 18, .16);
  color: #8a5608;
}

.adm-tag-bad[b-yjvgglxk1c] {
  background: rgba(178, 58, 44, .12);
  color: var(--sc-red);
}

.adm-empty[b-yjvgglxk1c] {
  color: var(--sc-ink-3);
  font-size: .9rem;
  margin-top: 1rem;
}
/* /Components/Pages/Admin/GoogleIds.razor.rz.scp.css */
.sc-eyebrow a[b-s8ctsfpd5w] {
  color: inherit;
}

.gid-lede[b-s8ctsfpd5w] {
  max-width: 44rem;
  color: var(--sc-ink-2);
  margin-bottom: 1.5rem;
}

.gid-h[b-s8ctsfpd5w] {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 1.5rem 0 .75rem;
}

.gid-muted[b-s8ctsfpd5w] {
  color: var(--sc-ink-3);
  font-size: .9rem;
}

.gid-msg[b-s8ctsfpd5w] {
  margin-bottom: 1.25rem;
  padding: .75rem 1rem;
  border-left: 3px solid var(--sc-go);
  background: rgba(29, 107, 72, .08);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
  font-size: .92rem;
}

.gid-msg-bad[b-s8ctsfpd5w] {
  border-left-color: var(--sc-red);
  background: rgba(178, 58, 44, .07);
  color: var(--sc-red);
}

.gid-table-wrap[b-s8ctsfpd5w] {
  overflow-x: auto;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
}

.gid-table[b-s8ctsfpd5w] {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
  font-size: .88rem;
}

.gid-table th[b-s8ctsfpd5w] {
  font-family: var(--sc-data);
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  text-align: left;
  padding: .75rem .9rem;
  border-bottom: 1.5px solid var(--sc-line);
}

.gid-table td[b-s8ctsfpd5w] {
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--sc-line);
  vertical-align: top;
  color: var(--sc-ink-2);
}

.gid-table tr:last-child td[b-s8ctsfpd5w] {
  border-bottom: 0;
}

.gid-table strong[b-s8ctsfpd5w] {
  color: var(--sc-ink);
}

.gid-sub[b-s8ctsfpd5w] {
  display: block;
  font-family: var(--sc-data);
  font-size: .75rem;
  color: var(--sc-ink-3);
}

.gid-off td[b-s8ctsfpd5w] {
  opacity: .55;
}

.gid-key[b-s8ctsfpd5w] {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .35rem 1rem;
  max-width: 50rem;
  margin: 0 0 1.25rem;
  font-size: .88rem;
}

.gid-key dt[b-s8ctsfpd5w] {
  font-weight: 800;
  color: var(--sc-ink);
}

.gid-key dd[b-s8ctsfpd5w] {
  margin: 0;
  color: var(--sc-ink-2);
}

.gid-choices label[b-s8ctsfpd5w] {
  display: block;
  white-space: nowrap;
  font-size: .86rem;
  color: var(--sc-ink);
  padding: .1rem 0;
  cursor: pointer;
}

@media (max-width: 575.98px) {
  .gid-key[b-s8ctsfpd5w] {
    grid-template-columns: 1fr;
  }
}

.gid-flag[b-s8ctsfpd5w] {
  display: inline-block;
  margin-left: .35rem;
  font-size: .7rem;
  font-weight: 800;
  padding: .1rem .45rem;
  border-radius: 4px;
  background: rgba(217, 138, 18, .16);
  color: #8a5608;
}

.gid-table a[b-s8ctsfpd5w] {
  font-size: .82rem;
  font-weight: 600;
}
/* /Components/Pages/Contact.razor.rz.scp.css */
/* Elements rendered by Input* components, EditForm and the validation components
   don't carry this component's scope attribute, so they're reached with ::deep. */

.ct-head[b-l87qqmgjp6] {
  padding-bottom: 1.75rem;
}

/* ---- quick answers -------------------------------------------- */
.ct-side[b-l87qqmgjp6] {
  border-top: 2px solid var(--sc-ink);
  padding-top: .85rem;
  margin-bottom: 1.75rem;
}

.ct-side-h[b-l87qqmgjp6] {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-bottom: .6rem;
}

.ct-faq dt[b-l87qqmgjp6] {
  font-weight: 800;
  font-size: .95rem;
  letter-spacing: -.01em;
  color: var(--sc-ink);
  margin-top: 1rem;
}

.ct-faq dt:first-child[b-l87qqmgjp6] {
  margin-top: 0;
}

.ct-faq dd[b-l87qqmgjp6] {
  margin: .25rem 0 0;
  font-family: var(--sc-voice);
  font-size: .93rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
}

.ct-faq a[b-l87qqmgjp6],
.ct-address a[b-l87qqmgjp6],
.ct-fine a[b-l87qqmgjp6],
.ct-alert a[b-l87qqmgjp6] {
  color: var(--sc-go-dk);
  text-underline-offset: 3px;
}

.ct-address[b-l87qqmgjp6] {
  font-style: normal;
  font-family: var(--sc-voice);
  font-size: .95rem;
  line-height: 1.6;
  color: var(--sc-ink-2);
  border-top: 1px solid var(--sc-line);
  padding-top: 1rem;
}

/* ---- the form ------------------------------------------------- */
.ct-sheet[b-l87qqmgjp6] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.ct-label[b-l87qqmgjp6] {
  display: block;
  font-weight: 700;
  font-size: .86rem;
  color: var(--sc-ink);
}

.ct-opt[b-l87qqmgjp6] {
  font-family: var(--sc-data);
  font-weight: 400;
  font-size: .64rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-left: .35rem;
}

.ct-sheet[b-l87qqmgjp6]  .ct-textarea {
  resize: vertical;
  min-height: 8rem;
  font-family: var(--sc-voice);
  font-size: 1rem;
  line-height: 1.55;
}

.ct-sheet[b-l87qqmgjp6]  select.sc-input {
  appearance: auto;
}

.ct-sheet[b-l87qqmgjp6]  .ct-err,
.ct-sheet[b-l87qqmgjp6]  .validation-message {
  display: block;
  color: var(--sc-red);
  font-size: .82rem;
  font-weight: 600;
  margin-top: .35rem;
}

.ct-sheet[b-l87qqmgjp6]  .ct-summary,
.ct-sheet[b-l87qqmgjp6]  .validation-errors {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-red);
  background: rgba(178, 58, 44, .07);
  border-radius: 0 6px 6px 0;
  color: var(--sc-red);
  font-weight: 600;
  font-size: .9rem;
}

.ct-sheet[b-l87qqmgjp6]  .ct-summary:empty,
.ct-sheet[b-l87qqmgjp6]  .validation-errors:empty {
  display: none;
}

.ct-sheet[b-l87qqmgjp6]  .sc-input.invalid {
  border-color: var(--sc-red);
}

.ct-alert[b-l87qqmgjp6] {
  margin-bottom: 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-amber);
  background: rgba(217, 138, 18, .1);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.ct-hp[b-l87qqmgjp6] {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.ct-submit[b-l87qqmgjp6] {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px dashed var(--sc-line);
}

.ct-go[b-l87qqmgjp6] {
  font-size: 1rem;
  padding: .85rem 2rem;
}

.ct-fine[b-l87qqmgjp6] {
  margin-top: .9rem;
  font-size: .8rem;
  color: var(--sc-ink-3);
}
/* /Components/Pages/ForShops.razor.rz.scp.css */
/* Elements rendered by Input* components, EditForm and the validation components
   don't carry this component's scope attribute, so they're reached with ::deep. */

/* ---- hero: the invitation a customer gets --------------------- */
.fs-invite[b-xcl3c55fuc] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  max-width: 26rem;
  margin-inline: auto;
}

.fs-invite-top[b-xcl3c55fuc] {
  background: var(--sc-stub);
  border-radius: 8.5px 8.5px 0 0;
  padding: 1.15rem 1.3rem;
}

.fs-invite-meta[b-xcl3c55fuc] {
  font-family: var(--sc-data);
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-bottom: .55rem;
}

.fs-invite-msg[b-xcl3c55fuc] {
  font-family: var(--sc-voice);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--sc-ink);
}

.fs-invite-body[b-xcl3c55fuc] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1.3rem 1.15rem;
}

.fs-invite-stars[b-xcl3c55fuc] {
  font-size: 1.35rem;
}

/* ---- benefits ------------------------------------------------- */
.fs-benefit[b-xcl3c55fuc] {
  height: 100%;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  padding: 1.2rem 1.3rem 1.3rem;
}

.fs-benefit-h[b-xcl3c55fuc] {
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: -.015em;
  line-height: 1.25;
  margin: 0 0 .45rem;
}

.fs-benefit-p[b-xcl3c55fuc] {
  font-family: var(--sc-voice);
  font-size: .94rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
}

/* ---- talk to us ----------------------------------------------- */
.fs-aside-note[b-xcl3c55fuc] {
  font-family: var(--sc-data);
  font-size: .72rem;
  letter-spacing: .06em;
  color: var(--sc-ink-3);
}

.fs-sheet[b-xcl3c55fuc] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.fs-label[b-xcl3c55fuc] {
  display: block;
  font-weight: 700;
  font-size: .86rem;
  color: var(--sc-ink);
}

.fs-opt[b-xcl3c55fuc] {
  font-family: var(--sc-data);
  font-weight: 400;
  font-size: .64rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-left: .35rem;
}

.fs-sheet[b-xcl3c55fuc]  .fs-textarea {
  resize: vertical;
  min-height: 7rem;
  font-family: var(--sc-voice);
  font-size: 1rem;
  line-height: 1.55;
}

.fs-sheet[b-xcl3c55fuc]  select.sc-input {
  appearance: auto;
}

.fs-sheet[b-xcl3c55fuc]  .fs-err,
.fs-sheet[b-xcl3c55fuc]  .validation-message {
  display: block;
  color: var(--sc-red);
  font-size: .82rem;
  font-weight: 600;
  margin-top: .35rem;
}

.fs-sheet[b-xcl3c55fuc]  .fs-summary,
.fs-sheet[b-xcl3c55fuc]  .validation-errors {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-red);
  background: rgba(178, 58, 44, .07);
  border-radius: 0 6px 6px 0;
  color: var(--sc-red);
  font-weight: 600;
  font-size: .9rem;
}

.fs-sheet[b-xcl3c55fuc]  .fs-summary:empty,
.fs-sheet[b-xcl3c55fuc]  .validation-errors:empty {
  display: none;
}

.fs-sheet[b-xcl3c55fuc]  .sc-input.invalid {
  border-color: var(--sc-red);
}

.fs-alert[b-xcl3c55fuc] {
  margin-bottom: 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-amber);
  background: rgba(217, 138, 18, .1);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.fs-hp[b-xcl3c55fuc] {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.fs-submit[b-xcl3c55fuc] {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px dashed var(--sc-line);
}

.fs-go[b-xcl3c55fuc] {
  font-size: 1rem;
  padding: .85rem 2rem;
}

.fs-fine[b-xcl3c55fuc] {
  margin-top: .9rem;
  font-size: .8rem;
  color: var(--sc-ink-3);
}

.fs-fine a[b-xcl3c55fuc] {
  color: var(--sc-ink-2);
}

/* In-page jumps land below the sticky nav. */
#how[b-xcl3c55fuc],
#talk[b-xcl3c55fuc] {
  scroll-margin-top: 5rem;
}
/* /Components/Pages/ReviewThanks.razor.rz.scp.css */
.ty-share[b-iqu1bbrm2i] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-left: 4px solid var(--sc-go);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: 1.4rem 1.5rem 1.5rem;
}

.ty-share-h[b-iqu1bbrm2i] {
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -.02em;
  margin: 0 0 .5rem;
}

.ty-share-p[b-iqu1bbrm2i] {
  font-family: var(--sc-voice);
  font-size: .98rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
  margin: 0 0 1.1rem;
}
/* /Components/Pages/SearchPage.razor.rz.scp.css */
/* --- the search form ----------------------------------------- */
.se-form[b-xg72yki6et] {
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
  max-width: 52rem;
}

@media (min-width: 768px) {
  .se-form[b-xg72yki6et] {
    grid-template-columns: 1.2fr 1fr auto;
    align-items: end;
  }
}

.se-label[b-xg72yki6et] {
  display: block;
  font-family: var(--sc-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sc-ink-2);
  margin-bottom: .35rem;
}

.se-opt[b-xg72yki6et] {
  color: var(--sc-ink-3);
  letter-spacing: .06em;
  text-transform: none;
  margin-left: .35rem;
}

.se-go[b-xg72yki6et] {
  justify-content: center;
}

/* --- results -------------------------------------------------- */
.se-head[b-xg72yki6et] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: 1rem;
}

.se-hint[b-xg72yki6et] {
  font-family: var(--sc-voice);
  color: var(--sc-ink-2);
  margin: -.4rem 0 1rem;
}

.se-grid[b-xg72yki6et] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
  gap: 1rem;
}

.se-card[b-xg72yki6et] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 8px;
  padding: 1rem 1.1rem;
}

/* Already listed: the pass-green tab, like reviewed places on the state pages. */
.se-card-listed[b-xg72yki6et] {
  border-left: 4px solid var(--sc-go);
  box-shadow: var(--sc-shadow);
}

.se-name[b-xg72yki6et] {
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--sc-ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}

a.se-name:hover[b-xg72yki6et],
a.se-name:focus-visible[b-xg72yki6et] {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.se-dist[b-xg72yki6et] {
  flex: none;
  font-family: var(--sc-data);
  font-size: .72rem;
  color: var(--sc-ink-3);
  font-variant-numeric: tabular-nums;
}

.se-addr[b-xg72yki6et] {
  font-family: var(--sc-voice);
  font-size: .92rem;
  line-height: 1.45;
  color: var(--sc-ink-2);
  margin-top: .35rem;
}

.se-cat[b-xg72yki6et] {
  font-family: var(--sc-data);
  font-size: .7rem;
  letter-spacing: .06em;
  color: var(--sc-ink-3);
  margin-top: .45rem;
}

.se-foot[b-xg72yki6et] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  border-top: 1px dashed var(--sc-perf);
  padding-top: .75rem;
}

.se-count[b-xg72yki6et] {
  font-family: var(--sc-data);
  font-size: .72rem;
  color: var(--sc-ink-3);
  font-variant-numeric: tabular-nums;
}
/* /Components/Pages/ShopInfo.razor.rz.scp.css */
/* ---- header ------------------------------------------------ */
.shop-head[b-1oi1wvlnoz] {
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* Shop names run long ("Hornsby Tire Pros & Service Center"), so the heading
   steps down from the home page's display size. */
.shop-name[b-1oi1wvlnoz] {
  font-size: clamp(2rem, 4.2vw, 3rem);
  overflow-wrap: anywhere;
}

.shop-facts[b-1oi1wvlnoz] {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
  align-items: flex-start;
}

.shop-addr[b-1oi1wvlnoz] {
  font-family: var(--sc-voice);
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--sc-ink-2);
  font-style: normal;
}

.shop-contact[b-1oi1wvlnoz] {
  display: flex;
  flex-direction: column;
  gap: .3rem;
}

.shop-contact-link[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
  color: var(--sc-ink);
  text-decoration: underline;
  text-decoration-color: var(--sc-line);
  text-underline-offset: 4px;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.shop-contact-link:hover[b-1oi1wvlnoz] {
  color: var(--sc-go-dk);
  text-decoration-color: currentColor;
}

/* ---- score panel: the shop's record, drawn as a stub ---------- */
.shop-score[b-1oi1wvlnoz] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
}

.shop-score-top[b-1oi1wvlnoz] {
  background: var(--sc-stub);
  border-radius: 8.5px 8.5px 0 0;
  padding: 1.25rem 1.35rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.shop-score-empty[b-1oi1wvlnoz] {
  border-radius: 8.5px;
}

.shop-score-avg[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: clamp(2.8rem, 5vw, 3.5rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
  color: var(--sc-ink);
}

.shop-score-stars[b-1oi1wvlnoz] {
  font-size: 1.1rem;
}

.shop-score-n[b-1oi1wvlnoz] {
  font-weight: 800;
  font-size: 1rem;
  letter-spacing: -.015em;
  margin-top: .35rem;
}

.shop-score-rec[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sc-go-dk);
  margin-top: .25rem;
}

.shop-score-note[b-1oi1wvlnoz] {
  font-family: var(--sc-voice);
  font-size: .95rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
  margin-top: .45rem;
}

.shop-score-body[b-1oi1wvlnoz] {
  padding: 1.25rem 1.35rem 1.35rem;
}

/* The panel is narrow, so the count column shrinks from the home page's 7rem. */
.shop-score-body .sc-dist-row[b-1oi1wvlnoz] {
  grid-template-columns: 2.4rem 1fr 3.4rem;
}

/* ---- reviews ------------------------------------------------- */
.shop-reviews[b-1oi1wvlnoz] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.shop-closed[b-1oi1wvlnoz] {
  display: inline-block;
  margin: -1rem 0 0;
  padding: .6rem .9rem;
  border-left: 3px solid var(--sc-amber);
  background: rgba(217, 138, 18, .12);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
  font-size: .92rem;
  color: var(--sc-ink);
}

.shop-google[b-1oi1wvlnoz] {
  margin-top: 3rem;
  padding: 1.5rem 1.6rem;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
}

.shop-google-note[b-1oi1wvlnoz] {
  color: var(--sc-ink-2);
  margin-bottom: 1rem;
}

.shop-pager[b-1oi1wvlnoz] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 2.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--sc-line);
}

.shop-pager-nums[b-1oi1wvlnoz] {
  display: flex;
  gap: .35rem;
  margin-inline: auto;
}

.shop-pager-n[b-1oi1wvlnoz],
.shop-pager-step[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  color: var(--sc-ink-2);
  border: 1.5px solid var(--sc-line);
  border-radius: 6px;
  background: var(--sc-sheet);
  min-width: 2.4rem;
  padding: .45rem .7rem;
  text-align: center;
  transition: border-color .15s ease, color .15s ease;
}

.shop-pager-n:hover[b-1oi1wvlnoz],
.shop-pager-step:hover[b-1oi1wvlnoz] {
  border-color: var(--sc-ink);
  color: var(--sc-ink);
}

.shop-pager-n.is-current[b-1oi1wvlnoz] {
  background: var(--sc-ink);
  border-color: var(--sc-ink);
  color: #fff;
}

/* ---- sidebar ------------------------------------------------- */
.shop-side[b-1oi1wvlnoz] {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.shop-panel[b-1oi1wvlnoz] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  padding: 1.1rem 1.2rem 1.2rem;
}

.shop-panel-h[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin: 0 0 .8rem;
}

.shop-logo[b-1oi1wvlnoz] {
  background: #fff;
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  padding: 1.1rem;
  display: grid;
  place-items: center;
}

.shop-logo img[b-1oi1wvlnoz] {
  max-width: 100%;
  max-height: 7rem;
  object-fit: contain;
}

.shop-hours-row[b-1oi1wvlnoz] {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .4rem 0;
  border-bottom: 1px dashed var(--sc-line);
  font-family: var(--sc-data);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
}

.shop-hours-row:last-child[b-1oi1wvlnoz] {
  border-bottom: 0;
  padding-bottom: 0;
}

.shop-hours dt[b-1oi1wvlnoz] {
  font-weight: 600;
  color: var(--sc-ink);
}

.shop-hours dd[b-1oi1wvlnoz] {
  margin: 0;
  color: var(--sc-ink-2);
  text-align: right;
}

.shop-hours dd.is-closed[b-1oi1wvlnoz] {
  color: var(--sc-ink-3);
}

.shop-panel-map[b-1oi1wvlnoz] {
  padding: 0;
  overflow: hidden;
}

.shop-map[b-1oi1wvlnoz] {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 0;
  background: var(--sc-stub);
}

.shop-map-foot[b-1oi1wvlnoz] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .3rem 1rem;
  padding: .65rem 1rem;
  border-top: 1px solid var(--sc-line);
  font-family: var(--sc-data);
  font-size: .66rem;
  letter-spacing: .05em;
  color: var(--sc-ink-3);
}

.shop-map-foot a[b-1oi1wvlnoz] {
  color: var(--sc-go-dk);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.shop-about p[b-1oi1wvlnoz] {
  font-family: var(--sc-voice);
  font-size: .95rem;
  line-height: 1.6;
  color: var(--sc-ink-2);
  margin: 0;
}

.shop-about p + p[b-1oi1wvlnoz] {
  margin-top: .7rem;
}

/* A quiet owner prompt on pages of shops that aren't enrolled: dashed, no card
   shadow, so it never competes with the reviews. */
.shop-owner[b-1oi1wvlnoz] {
  border: 1.5px dashed var(--sc-line);
  border-radius: 10px;
  padding: 1rem 1.2rem 1.1rem;
}

.shop-owner-p[b-1oi1wvlnoz] {
  font-family: var(--sc-voice);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
  margin: 0 0 .6rem;
}

.shop-owner-link[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sc-go-dk);
}

.shop-tag[b-1oi1wvlnoz] {
  font-family: var(--sc-data);
  font-size: .68rem;
  letter-spacing: .06em;
  color: var(--sc-ink-2);
  background: var(--sc-stub);
  border: 1px solid var(--sc-line);
  border-radius: 5px;
  padding: .3rem .55rem;
}
/* /Components/Pages/StatePage.razor.rz.scp.css */
.sp-crumbs[b-jld8idbbu4] {
  display: flex;
  gap: .5rem;
  font-family: var(--sc-data);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
}

.sp-crumbs a[b-jld8idbbu4] {
  color: var(--sc-ink-2);
}

/* --- reviewed places ---------------------------------------- */
.sp-cards[b-jld8idbbu4] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 1rem;
}

.sp-card[b-jld8idbbu4] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-left: 4px solid var(--sc-go);
  border-radius: 8px;
  padding: 1rem 1.1rem;
  box-shadow: var(--sc-shadow);
}

.sp-card-name[b-jld8idbbu4] {
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--sc-ink);
  text-decoration: none;
}

a.sp-card-name:hover[b-jld8idbbu4],
a.sp-card-name:focus-visible[b-jld8idbbu4] {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sp-card-meta[b-jld8idbbu4] {
  font-family: var(--sc-voice);
  font-size: .92rem;
  color: var(--sc-ink-2);
  margin-top: .25rem;
}

.sp-card-addr[b-jld8idbbu4] {
  font-family: var(--sc-data);
  font-size: .72rem;
  color: var(--sc-ink-3);
  margin-top: .2rem;
}

.sp-card-score[b-jld8idbbu4] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem;
  border-top: 1px dashed var(--sc-perf);
  padding-top: .7rem;
}

.sp-card-avg[b-jld8idbbu4] {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.sp-card-n[b-jld8idbbu4] {
  font-family: var(--sc-data);
  font-size: .72rem;
  color: var(--sc-ink-3);
  font-variant-numeric: tabular-nums;
}

/* --- everything else, by city ------------------------------- */
.sp-cities[b-jld8idbbu4] {
  columns: 1;
  column-gap: 2.5rem;
}

@media (min-width: 576px) {
  .sp-cities[b-jld8idbbu4] { columns: 2; }
}

@media (min-width: 992px) {
  .sp-cities[b-jld8idbbu4] { columns: 3; }
}

.sp-city[b-jld8idbbu4] {
  break-inside: avoid;
  margin-bottom: 1.5rem;
}

.sp-city-h[b-jld8idbbu4] {
  font-family: var(--sc-data);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  border-bottom: 1px solid var(--sc-line);
  padding-bottom: .35rem;
  margin: 0 0 .5rem;
}

.sp-list[b-jld8idbbu4] {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .95rem;
  line-height: 1.35;
}

.sp-list li[b-jld8idbbu4] {
  padding: .22rem 0;
  overflow-wrap: anywhere;
}

/* Only shown when two places in a city share a name. */
.sp-list-addr[b-jld8idbbu4] {
  display: block;
  font-family: var(--sc-data);
  font-size: .7rem;
  color: var(--sc-ink-3);
  margin-top: .1rem;
}

.sp-list a[b-jld8idbbu4] {
  color: var(--sc-ink);
  text-decoration: none;
}

.sp-list a:hover[b-jld8idbbu4],
.sp-list a:focus-visible[b-jld8idbbu4] {
  color: var(--sc-go-dk);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* /Components/Pages/StatesIndex.razor.rz.scp.css */
.st-grid[b-yvggpzfd26] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  /* Two across on a phone; a single column of 26 tiles is a long scroll. */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

@media (min-width: 576px) {
  .st-grid[b-yvggpzfd26] {
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  }
}

.st-tile[b-yvggpzfd26] {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  height: 100%;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 8px;
  padding: .8rem .85rem;
  text-decoration: none;
  color: var(--sc-ink);
  transition: border-color .15s ease, background-color .15s ease;
}

.st-tile:hover[b-yvggpzfd26],
.st-tile:focus-visible[b-yvggpzfd26] {
  border-color: var(--sc-go);
  background: #fff;
  color: var(--sc-ink);
}

/* States with published reviews carry the pass-green tab of a checked-off line. */
.st-tile.has-reviews[b-yvggpzfd26] {
  border-left: 4px solid var(--sc-go);
}

.st-tile-name[b-yvggpzfd26] {
  overflow-wrap: break-word;
  font-weight: 800;
  font-size: .94rem;
  letter-spacing: -.02em;
}

@media (min-width: 576px) {
  .st-tile-name[b-yvggpzfd26] {
    font-size: 1.02rem;
  }
}

.st-tile-meta[b-yvggpzfd26] {
  font-family: var(--sc-data);
  font-size: .72rem;
  color: var(--sc-ink-3);
  font-variant-numeric: tabular-nums;
}

.st-tile-dot[b-yvggpzfd26] {
  margin: 0 .3rem;
}
/* /Components/Pages/Unsubscribe.razor.rz.scp.css */
.us-card[b-8t8ip9rhmp] {
  max-width: 36rem;
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: 1.75rem 1.75rem 2rem;
}

.us-p[b-8t8ip9rhmp] {
  font-family: var(--sc-voice);
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--sc-ink-2);
  margin: 0 0 1.4rem;
  overflow-wrap: anywhere;
}

.us-p strong[b-8t8ip9rhmp] {
  color: var(--sc-ink);
}

.us-alert[b-8t8ip9rhmp] {
  border-left: 4px solid var(--sc-red);
  background: color-mix(in srgb, var(--sc-red) 8%, transparent);
  padding: .75rem 1rem;
  margin: 0 0 1.2rem;
  font-size: .95rem;
}

/* Stopping mail is the one action on the page, so it looks like one — but not alarming. */
.us-go[b-8t8ip9rhmp] {
  background: var(--sc-ink);
  color: #fff;
}

.us-go:hover[b-8t8ip9rhmp],
.us-go:focus-visible[b-8t8ip9rhmp] {
  background: var(--sc-red);
  color: #fff;
}
/* /Components/Pages/WriteReview.razor.rz.scp.css */
/* Elements rendered by Input* components, EditForm and the validation components
   don't carry this component's scope attribute, so they're reached with ::deep from
   a scoped ancestor. */

.rv-head[b-b7g06xzs7y] {
  padding-bottom: 1.75rem;
}

/* ---- the form sheet ------------------------------------------- */
.rv-sheet[b-b7g06xzs7y] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.rv-section[b-b7g06xzs7y] {
  border: 0;
  margin: 0 0 1.75rem;
  padding: 0 0 1.75rem;
  border-bottom: 1px dashed var(--sc-line);
  min-width: 0;
}

.rv-legend[b-b7g06xzs7y] {
  float: none;
  width: auto;
  display: flex;
  align-items: baseline;
  gap: .6rem;
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.015em;
  margin-bottom: .9rem;
  padding: 0;
}

.rv-n[b-b7g06xzs7y] {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--sc-go);
}

.rv-label[b-b7g06xzs7y] {
  display: block;
  font-weight: 700;
  font-size: .86rem;
  color: var(--sc-ink);
}

.rv-opt[b-b7g06xzs7y] {
  font-family: var(--sc-data);
  font-weight: 400;
  font-size: .64rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-left: .35rem;
}

.rv-hint[b-b7g06xzs7y] {
  font-family: var(--sc-voice);
  font-size: .92rem;
  color: var(--sc-ink-2);
  margin: -.35rem 0 .9rem;
}

.rv-sheet[b-b7g06xzs7y]  .rv-textarea {
  resize: vertical;
  min-height: 9rem;
  font-family: var(--sc-voice);
  font-size: 1rem;
  line-height: 1.55;
}

.rv-sheet[b-b7g06xzs7y]  select.sc-input {
  appearance: auto;
}

/* ---- rating: five radios drawn as stars, no script ------------- */
/* DOM order is 5→1 inside a row-reversed flex box, so 1 sits on the left and
   "this star and everything after it" in the DOM is "this star and the ones
   to its left" on screen — which is what :checked ~ and :hover ~ select. */
.rv-stars[b-b7g06xzs7y] {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: .15rem;
}

.rv-sheet[b-b7g06xzs7y]  .rv-star-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
}

.rv-star[b-b7g06xzs7y] {
  font-size: 2.35rem;
  line-height: 1;
  color: var(--sc-line);
  cursor: pointer;
  padding: 0 .1rem;
  transition: color .12s ease, transform .12s ease;
}

.rv-star:hover[b-b7g06xzs7y] {
  transform: translateY(-1px);
}

.rv-stars[b-b7g06xzs7y]  .rv-star-input:checked ~ .rv-star,
.rv-stars:hover .rv-star:hover[b-b7g06xzs7y],
.rv-stars:hover .rv-star:hover ~ .rv-star[b-b7g06xzs7y] {
  color: var(--sc-amber);
}

/* While hovering, preview the hovered value instead of the chosen one. */
.rv-stars:hover[b-b7g06xzs7y]  .rv-star-input:checked ~ .rv-star:not(:hover):not(:hover ~ .rv-star) {
  color: var(--sc-line);
}

.rv-stars[b-b7g06xzs7y]  .rv-star-input:focus-visible + .rv-star {
  outline: 2px solid var(--sc-go);
  outline-offset: 2px;
  border-radius: 4px;
}

.rv-star-word[b-b7g06xzs7y] {
  order: -1;
  margin-left: .9rem;
  font-family: var(--sc-data);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-ink-2);
  min-width: 7.5rem;
}

.rv-word[b-b7g06xzs7y] {
  display: none;
}

.rv-word-0[b-b7g06xzs7y] {
  display: inline;
  color: var(--sc-ink-3);
}

.rv-stars:has(input:checked) .rv-word-0[b-b7g06xzs7y] {
  display: none;
}

.rv-stars:has(#rating-1:checked) .rv-word-1[b-b7g06xzs7y],
.rv-stars:has(#rating-2:checked) .rv-word-2[b-b7g06xzs7y],
.rv-stars:has(#rating-3:checked) .rv-word-3[b-b7g06xzs7y],
.rv-stars:has(#rating-4:checked) .rv-word-4[b-b7g06xzs7y],
.rv-stars:has(#rating-5:checked) .rv-word-5[b-b7g06xzs7y] {
  display: inline;
}

/* ---- yes / no toggle ------------------------------------------ */
.rv-toggle[b-b7g06xzs7y] {
  display: inline-flex;
  margin-top: .4rem;
  border: 1.5px solid var(--sc-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--sc-sheet);
}

.rv-sheet[b-b7g06xzs7y]  .rv-toggle-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
}

.rv-toggle-opt[b-b7g06xzs7y] {
  font-weight: 700;
  font-size: .9rem;
  padding: .55rem 1.35rem;
  cursor: pointer;
  color: var(--sc-ink-2);
  transition: background-color .12s ease, color .12s ease;
}

.rv-toggle-sep[b-b7g06xzs7y] {
  border-left: 1.5px solid var(--sc-line);
}

.rv-toggle[b-b7g06xzs7y]  #rec-yes:checked + .rv-toggle-opt {
  background: var(--sc-go);
  color: #fff;
}

.rv-toggle[b-b7g06xzs7y]  #rec-no:checked + .rv-toggle-opt {
  background: var(--sc-ink);
  color: #fff;
}

.rv-toggle[b-b7g06xzs7y]  .rv-toggle-input:focus-visible + .rv-toggle-opt {
  outline: 2px solid var(--sc-go);
  outline-offset: -3px;
}

/* ---- validation ----------------------------------------------- */
.rv-sheet[b-b7g06xzs7y]  .rv-err,
.rv-sheet[b-b7g06xzs7y]  .validation-message {
  display: block;
  color: var(--sc-red);
  font-size: .82rem;
  font-weight: 600;
  margin-top: .35rem;
}

.rv-sheet[b-b7g06xzs7y]  .rv-summary,
.rv-sheet[b-b7g06xzs7y]  .validation-errors {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-red);
  background: rgba(178, 58, 44, .07);
  border-radius: 0 6px 6px 0;
  color: var(--sc-red);
  font-weight: 600;
  font-size: .9rem;
}

.rv-sheet[b-b7g06xzs7y]  .rv-summary:empty,
.rv-sheet[b-b7g06xzs7y]  .validation-errors:empty {
  display: none;
}

.rv-sheet[b-b7g06xzs7y]  .sc-input.invalid {
  border-color: var(--sc-red);
}

.rv-alert[b-b7g06xzs7y] {
  margin-bottom: 1.5rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--sc-amber);
  background: rgba(217, 138, 18, .1);
  border-radius: 0 6px 6px 0;
  font-weight: 600;
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.rv-hp[b-b7g06xzs7y] {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ---- submit --------------------------------------------------- */
.rv-go[b-b7g06xzs7y] {
  font-size: 1rem;
  padding: .85rem 1.6rem;
}

.rv-fine[b-b7g06xzs7y] {
  margin-top: .9rem;
  font-size: .8rem;
  color: var(--sc-ink-3);
  max-width: 34rem;
}

.rv-fine a[b-b7g06xzs7y] {
  color: var(--sc-ink-2);
}

/* ---- the stub: which shop, which visit ------------------------ */
.rv-stub[b-b7g06xzs7y] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
}

@media (min-width: 992px) {
  .rv-stub[b-b7g06xzs7y] {
    position: sticky;
    top: 5.5rem;
  }
}

.rv-stub-top[b-b7g06xzs7y] {
  background: var(--sc-stub);
  border-radius: 8.5px 8.5px 0 0;
  padding: 1rem 1.15rem;
}

.rv-stub-shop[b-b7g06xzs7y] {
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.015em;
  line-height: 1.25;
  margin-bottom: .35rem;
}

.rv-stub-addr[b-b7g06xzs7y] {
  font-family: var(--sc-voice);
  font-size: .92rem;
  color: var(--sc-ink-2);
  line-height: 1.45;
}

.rv-stub-meta[b-b7g06xzs7y] {
  font-family: var(--sc-data);
  font-size: .7rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
}

.rv-stub-body[b-b7g06xzs7y] {
  padding: 1rem 1.15rem 1.1rem;
}

.rv-stub-note[b-b7g06xzs7y] {
  font-family: var(--sc-voice);
  font-size: .88rem;
  line-height: 1.5;
  color: var(--sc-ink-2);
}
/* /Components/Shared/AccountShell.razor.rz.scp.css */
/* Page content arrives as ChildContent / Below / Aside, rendered by the pages, so
   everything inside the sheet is reached with ::deep. */

.acc-frame[b-914m5rpuo5] {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}

@media (min-width: 992px) {
  .acc-frame:not(.acc-narrow)[b-914m5rpuo5] {
    grid-template-columns: minmax(0, 30rem) minmax(0, 20rem);
    justify-content: center;
    column-gap: 4rem;
  }

  .acc-aside[b-914m5rpuo5] {
    margin-top: 5.5rem;
  }
}

.acc-narrow[b-914m5rpuo5] {
  max-width: 30rem;
  margin: 0 auto;
}

.acc-lede[b-914m5rpuo5] {
  font-family: var(--sc-voice);
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
  margin-bottom: 1.5rem;
}

.acc-sheet[b-914m5rpuo5] {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: clamp(1.25rem, 3vw, 1.85rem);
}

.acc-below[b-914m5rpuo5] {
  margin-top: 1.25rem;
  font-size: .9rem;
  color: var(--sc-ink-2);
  text-align: center;
}

.acc-below[b-914m5rpuo5]  a,
.acc-sheet[b-914m5rpuo5]  a:not(.sc-btn),
.acc-aside[b-914m5rpuo5]  a:not(.sc-btn) {
  color: var(--sc-go-dk);
  font-weight: 600;
  text-underline-offset: 3px;
}

/* ---- fields ----------------------------------------------------- */
.acc-sheet[b-914m5rpuo5]  .acc-field + .acc-field {
  margin-top: 1rem;
}

.acc-sheet[b-914m5rpuo5]  .acc-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-weight: 700;
  font-size: .86rem;
  color: var(--sc-ink);
  margin-bottom: .3rem;
}

.acc-sheet[b-914m5rpuo5]  .acc-label a {
  font-size: .8rem;
}

.acc-sheet[b-914m5rpuo5]  .acc-hint {
  display: block;
  margin-top: .3rem;
  font-size: .78rem;
  color: var(--sc-ink-3);
}

.acc-sheet[b-914m5rpuo5]  .acc-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  font-size: .9rem;
  color: var(--sc-ink-2);
}

.acc-sheet[b-914m5rpuo5]  .acc-check input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--sc-go);
}

.acc-sheet[b-914m5rpuo5]  .validation-message {
  display: block;
  color: var(--sc-red);
  font-size: .82rem;
  font-weight: 600;
  margin-top: .35rem;
}

.acc-sheet[b-914m5rpuo5]  .sc-input.invalid {
  border-color: var(--sc-red);
}

.acc-sheet[b-914m5rpuo5]  .acc-go {
  width: 100%;
  margin-top: 1.5rem;
  padding: .8rem 1rem;
  font-size: 1rem;
}

.acc-sheet[b-914m5rpuo5]  .acc-fine {
  margin: .9rem 0 0;
  font-size: .78rem;
  color: var(--sc-ink-3);
}

/* ---- messages --------------------------------------------------- */
.acc-sheet[b-914m5rpuo5]  .acc-alert,
.acc-sheet[b-914m5rpuo5]  .acc-note {
  margin-bottom: 1.25rem;
  padding: .8rem 1rem;
  border-radius: 0 6px 6px 0;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.45;
}

.acc-sheet[b-914m5rpuo5]  .acc-alert {
  border-left: 3px solid var(--sc-red);
  background: rgba(178, 58, 44, .07);
  color: var(--sc-red);
}

.acc-sheet[b-914m5rpuo5]  .acc-note {
  border-left: 3px solid var(--sc-go);
  background: rgba(29, 107, 72, .08);
  color: var(--sc-ink);
}

/* ---- external providers ----------------------------------------- */
.acc-sheet[b-914m5rpuo5]  .acc-or {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 1.5rem 0 1rem;
  font-family: var(--sc-data);
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
}

.acc-sheet[b-914m5rpuo5]  .acc-or::before,
.acc-sheet[b-914m5rpuo5]  .acc-or::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--sc-line);
}

.acc-sheet[b-914m5rpuo5]  .acc-providers {
  display: grid;
  gap: .6rem;
}

.acc-sheet[b-914m5rpuo5]  .acc-provider {
  width: 100%;
  justify-content: center;
}

/* ---- side panel ------------------------------------------------- */
.acc-aside[b-914m5rpuo5] {
  border-top: 2px solid var(--sc-ink);
  padding-top: .85rem;
}

.acc-aside[b-914m5rpuo5]  .acc-side-h {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-bottom: .6rem;
}

.acc-aside[b-914m5rpuo5]  p,
.acc-aside[b-914m5rpuo5]  li {
  font-family: var(--sc-voice);
  font-size: .95rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
}

.acc-aside[b-914m5rpuo5]  ul {
  padding-left: 1.1rem;
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.acc-sheet[b-914m5rpuo5]  .acc-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
/* /Components/Shared/GoogleReviewsPanel.razor.rz.scp.css */
.gr-summary[b-duoli13orh] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--sc-line);
}

.gr-avg[b-duoli13orh] {
  font-family: var(--sc-display);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  color: var(--sc-ink);
}

.gr-stars[b-duoli13orh] {
  font-size: 1.05rem;
}

.gr-count[b-duoli13orh] {
  font-weight: 700;
  color: var(--sc-ink);
}

.gr-all[b-duoli13orh] {
  margin-left: auto;
  font-size: .88rem;
  font-weight: 700;
  color: var(--sc-go);
}

.gr-list[b-duoli13orh] {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gr-item[b-duoli13orh] {
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--sc-line);
}

.gr-head[b-duoli13orh] {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: .55rem;
}

.gr-photo[b-duoli13orh] {
  border-radius: 50%;
  flex: none;
}

.gr-author[b-duoli13orh] {
  font-weight: 700;
  color: var(--sc-ink);
}

.gr-meta[b-duoli13orh] {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--sc-data);
  font-size: .74rem;
  color: var(--sc-ink-3);
}

.gr-text[b-duoli13orh] {
  font-family: var(--sc-voice);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--sc-ink-2);
  margin: 0 0 .45rem;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.gr-link[b-duoli13orh] {
  font-size: .8rem;
  font-weight: 600;
  color: var(--sc-ink-3);
}

.gr-credit[b-duoli13orh] {
  margin: 1rem 0 0;
  font-size: .8rem;
  color: var(--sc-ink-3);
}

/* Google's text attribution: the words "Google Maps", unaltered, in a plain sans-serif. */
.gr-gmaps[b-duoli13orh] {
  font-family: Roboto, Arial, sans-serif;
  font-weight: 500;
  color: #5e5e5e;
}

.gr-note[b-duoli13orh] {
  margin: 0;
  color: var(--sc-ink-2);
}
/* /Components/Shared/LegalDoc.razor.rz.scp.css */
/* A long document: one readable column, contents alongside. The sections come from
   the page (terms, privacy), so they carry that page's scope, not this one's, and
   are reached with ::deep. */

.lg-head[b-v3pgn9uutk] {
  padding-bottom: 1.75rem;
}

.lg-updated[b-v3pgn9uutk] {
  font-family: var(--sc-data);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
}

.lg-doc[b-v3pgn9uutk] {
  max-width: 46rem;
  font-family: var(--sc-voice);
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--sc-ink-2);
}

.lg-doc[b-v3pgn9uutk]  a {
  color: var(--sc-go-dk);
  text-underline-offset: 3px;
}

.lg-doc[b-v3pgn9uutk]  ul {
  padding-left: 1.2rem;
}

.lg-doc[b-v3pgn9uutk]  li + li {
  margin-top: .35rem;
}

/* ---- the short version ---------------------------------------- */
.lg-doc[b-v3pgn9uutk]  .lg-short {
  background: var(--sc-sheet);
  border: 1.5px solid var(--sc-line);
  border-left: 4px solid var(--sc-go);
  border-radius: 10px;
  box-shadow: var(--sc-shadow);
  padding: 1.25rem 1.4rem 1.3rem;
  margin-bottom: 2.5rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-short-h {
  font-family: var(--sc-display);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -.015em;
  color: var(--sc-ink);
  margin: 0 0 .6rem;
}

/* ---- sections ------------------------------------------------- */
.lg-doc[b-v3pgn9uutk]  .lg-sec {
  padding-top: 1.75rem;
  margin-top: 1.75rem;
  border-top: 1px dashed var(--sc-line);
  scroll-margin-top: 5rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-short + .lg-sec {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.lg-doc[b-v3pgn9uutk]  .lg-h {
  display: flex;
  align-items: baseline;
  gap: .7rem;
  font-family: var(--sc-display);
  font-weight: 800;
  font-size: 1.3rem;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--sc-ink);
  margin: 0 0 .8rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-n {
  font-family: var(--sc-data);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--sc-go);
  min-width: 1.4rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-h3 {
  font-family: var(--sc-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -.01em;
  color: var(--sc-ink);
  margin: 1.4rem 0 .5rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-defs dt {
  font-family: var(--sc-data);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sc-go-dk);
  margin-top: 1rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-defs dd {
  margin: .3rem 0 0;
}

/* A plain table for "what we collect". Stacks on phones. */
.lg-doc[b-v3pgn9uutk]  .lg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
  margin: .5rem 0 1rem;
}

.lg-doc[b-v3pgn9uutk]  .lg-table th,
.lg-doc[b-v3pgn9uutk]  .lg-table td {
  text-align: left;
  vertical-align: top;
  padding: .6rem .75rem .6rem 0;
  border-bottom: 1px solid var(--sc-line);
}

.lg-doc[b-v3pgn9uutk]  .lg-table th {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
}

.lg-doc[b-v3pgn9uutk]  .lg-table td:first-child {
  font-weight: 600;
  color: var(--sc-ink);
  width: 32%;
}

@media (max-width: 575.98px) {
  .lg-doc[b-v3pgn9uutk]  .lg-table thead {
    display: none;
  }

  .lg-doc[b-v3pgn9uutk]  .lg-table tr,
  .lg-doc[b-v3pgn9uutk]  .lg-table td,
  .lg-doc[b-v3pgn9uutk]  .lg-table td:first-child {
    display: block;
    width: 100%;
  }

  .lg-doc[b-v3pgn9uutk]  .lg-table td {
    border-bottom: 0;
    padding: .15rem 0;
  }

  .lg-doc[b-v3pgn9uutk]  .lg-table tr {
    padding: .6rem 0;
    border-bottom: 1px solid var(--sc-line);
  }
}

.lg-address[b-v3pgn9uutk] {
  font-style: normal;
  line-height: 1.6;
}

/* ---- contents ------------------------------------------------- */
.lg-toc[b-v3pgn9uutk] {
  border-top: 2px solid var(--sc-ink);
  padding-top: .85rem;
}

@media (min-width: 992px) {
  .lg-toc[b-v3pgn9uutk] {
    position: sticky;
    top: 5.5rem;
  }
}

.lg-toc-h[b-v3pgn9uutk] {
  font-family: var(--sc-data);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sc-ink-3);
  margin-bottom: .6rem;
}

.lg-toc-list[b-v3pgn9uutk] {
  margin: 0;
  padding-left: 1.4rem;
  font-size: .88rem;
  line-height: 1.4;
  color: var(--sc-ink-3);
}

.lg-toc-list li + li[b-v3pgn9uutk] {
  margin-top: .35rem;
}

.lg-toc-list a[b-v3pgn9uutk] {
  color: var(--sc-ink-2);
  text-decoration: none;
}

.lg-toc-list a:hover[b-v3pgn9uutk] {
  color: var(--sc-go-dk);
  text-decoration: underline;
}

/* Below lg: a toggle above the document. */
.lg-toc-fold[b-v3pgn9uutk] {
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--sc-line);
}

.lg-toc-fold summary[b-v3pgn9uutk] {
  cursor: pointer;
  margin-bottom: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lg-toc-fold summary[b-v3pgn9uutk]::-webkit-details-marker {
  display: none;
}

.lg-toc-fold summary[b-v3pgn9uutk]::after {
  content: "+";
  font-size: 1rem;
  color: var(--sc-ink-2);
}

.lg-toc-fold[open] summary[b-v3pgn9uutk]::after {
  content: "\2212";
}

.lg-toc-fold[open] .lg-toc-list[b-v3pgn9uutk] {
  margin-top: .7rem;
}
/* /Components/Shared/ReviewCard.razor.rz.scp.css */
/* The shared work-order styles (.ro, .ro-stub, .ro-perf …) live in app.css.
   These are the pieces only this component renders. */

/* With no shop line above it, the service date is the first thing in the stub. */
.ro-stub > .ro-record:first-child[b-b67ssk9xuc] {
  margin-top: 0;
}

.ro-rating[b-b67ssk9xuc] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .85rem;
}

.ro-rec[b-b67ssk9xuc] {
  font-family: var(--sc-data);
  font-size: .64rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sc-go-dk);
  background: rgba(29, 107, 72, .1);
  border-radius: 4px;
  padding: .22rem .5rem;
}

/* The shop's answer sits inside the customer's half of the sheet, set in the
   shop's voice (Archivo) rather than the customer's (Source Serif). */
.ro-reply[b-b67ssk9xuc] {
  margin-top: 1.1rem;
  padding: .8rem 1rem .85rem;
  border-left: 3px solid var(--sc-go);
  background: var(--sc-stub);
  border-radius: 0 6px 6px 0;
}

.ro-reply-h[b-b67ssk9xuc] {
  font-family: var(--sc-data);
  font-size: .64rem;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--sc-go-dk);
  margin-bottom: .4rem;
}

.ro-reply p[b-b67ssk9xuc] {
  font-size: .9rem;
  line-height: 1.55;
  color: var(--sc-ink-2);
  margin: 0;
}

.ro-reply p + p[b-b67ssk9xuc] {
  margin-top: .5rem;
}
