:root {
  --bg: #faf7f0;
  --card: #ffffff;
  --tx: #141210;
  --sub: #443f38;
  --sep: #d8cfc0;
  --fill: #ede5d8;
  --terra: #b84820;
  --terra-bg: #fdf1eb;
  --green: #0f6846;
  --green-bg: #e5f5ee;
  --cream-btn: #f5efe4;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--tx);
  font-size: 18.5px;
  line-height: 1.32;
  -webkit-font-smoothing: antialiased;
}

#phone {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  display: flex;
  flex-direction: column;
}

@media (min-width: 500px) {
  body {
    background: #231f1b;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #phone {
    width: 390px;
    height: 844px;
    border-radius: 46px;
    box-shadow: 0 0 0 11px #171412, 0 0 0 13px #3d3630, 0 28px 75px rgba(0, 0, 0, 0.55);
  }
}

#app {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Clean Top Bar */
.top-header {
  background: var(--card);
  border-bottom: 2px solid var(--sep);
  padding: 10px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.app-brand {
  font-size: 23px;
  font-weight: 900;
  color: var(--tx);
  letter-spacing: -0.4px;
  cursor: pointer;
}

.app-loc {
  font-size: 16.5px;
  font-weight: 800;
  color: var(--green);
  background: var(--green-bg);
  padding: 4px 10px;
  border-radius: 99px;
}

/* Scrollable Container */
.scroll {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  padding: 12px 14px 18px;
  scrollbar-width: none;
}
.scroll::-webkit-scrollbar {
  display: none;
}

/* Big Unmistakable Back Button */
.back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  background: var(--card);
  border: 2.5px solid var(--tx);
  border-radius: 13px;
  padding: 8.5px 13px;
  font-family: inherit;
  font-size: 19px;
  font-weight: 800;
  color: var(--tx);
  cursor: pointer;
  margin-bottom: 9px;
  text-align: left;
}

.back-btn:active {
  background: var(--fill);
}

/* Headlines */
.hero-title {
  font-size: 26px;
  font-weight: 900;
  color: var(--tx);
  margin: 0 0 4px;
  letter-spacing: -0.4px;
  line-height: 1.15;
}

.hero-sub {
  font-size: 17.5px;
  font-weight: 600;
  color: var(--sub);
  margin: 0 0 11px;
  line-height: 1.28;
}

/* 6 Huge Category Buttons (2 cols x 3 rows) */
.cat-grid-v3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.cat-btn-v3 {
  background: var(--card);
  border: 2px solid var(--sep);
  border-radius: 16px;
  padding: 13px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.cat-btn-v3:active {
  border-color: var(--green);
  background: var(--green-bg);
}

.cat-ico-v3 {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 2px;
}

.cat-label-v3 {
  font-size: 20px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.15;
}

.cat-count-v3 {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--green);
}

/* Warm "Add a Pro You Trust" Card */
.share-pro-card {
  width: 100%;
  background: var(--terra-bg);
  border: 2px solid #e6b8a4;
  border-radius: 16px;
  padding: 12px 14px;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
  margin-bottom: 12px;
  display: block;
}

.share-pro-title {
  font-size: 19.5px;
  font-weight: 900;
  color: var(--terra);
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.share-pro-desc {
  font-size: 16.5px;
  font-weight: 600;
  color: var(--tx);
  line-height: 1.28;
}

/* Separated Bottom Contractor Bar */
.contractor-bar {
  background: var(--fill);
  border: 2px solid var(--sep);
  border-radius: 15px;
  padding: 12px 14px;
  text-align: left;
}

.contractor-link-btn {
  width: 100%;
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 17.5px;
  font-weight: 800;
  color: var(--tx);
  text-align: left;
  cursor: pointer;
  line-height: 1.28;
}

/* Screen 2: Category Screen & Spacious Pro Card */
.pro-card-v3 {
  background: var(--card);
  border: 2.5px solid var(--sep);
  border-radius: 18px;
  padding: 13px 14px;
  margin-bottom: 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.pro-header-v3 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 8px;
}

.pro-avatar-v3 {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--terra);
  color: #fff;
  font-size: 19px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 3px solid var(--terra-bg);
}

.pro-name-v3 {
  font-size: 22.5px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.15;
}

.pro-trade-v3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--sub);
  margin-top: 2px;
  line-height: 1.2;
}

.pro-phone-banner {
  background: var(--cream-btn);
  border: 2px solid var(--sep);
  border-radius: 12px;
  padding: 7px 11px;
  font-size: 18.5px;
  font-weight: 900;
  color: var(--tx);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.neighbor-vouch-box {
  background: var(--green-bg);
  border: 2px solid #a8dfc6;
  border-radius: 14px;
  padding: 9px 11px;
  margin-bottom: 8px;
}

.vouch-headline {
  font-size: 18px;
  font-weight: 900;
  color: var(--green);
  margin-bottom: 5px;
}

.vouch-item {
  font-size: 16.5px;
  line-height: 1.26;
  color: var(--tx);
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(15, 104, 70, 0.18);
}

.add-vouch-link {
  display: inline-block;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 900;
  color: var(--green);
  text-decoration: underline;
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  cursor: pointer;
}

.schedule-box-v3 {
  font-size: 17px;
  line-height: 1.26;
  color: var(--tx);
  margin-bottom: 9px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* Stacked Full-Width Big Buttons */
.stacked-actions {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.full-btn {
  width: 100%;
  border-radius: 13px;
  padding: 11.5px 12px;
  font-family: inherit;
  font-size: 19px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  line-height: 1.18;
}

.full-btn.cream {
  background: var(--cream-btn);
  color: var(--tx);
  border: 2.5px solid var(--tx);
}

.full-btn.green {
  background: var(--green);
  color: #ffffff;
  border: 2.5px solid var(--green);
}

.full-btn.orange {
  background: var(--terra);
  color: #ffffff;
  border: 2.5px solid var(--terra);
}

/* Screen 3: Full-Screen Request Step */
.step-block {
  background: var(--card);
  border: 2px solid var(--sep);
  border-radius: 15px;
  padding: 8.5px 11px;
  margin-bottom: 7px;
}

.step-label {
  font-size: 18px;
  font-weight: 900;
  color: var(--tx);
  margin: 0 0 5px;
  line-height: 1.18;
}

.choice-row {
  background: var(--bg);
  border: 2px solid var(--sep);
  border-radius: 11px;
  padding: 6.5px 9px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font-size: 17px;
  font-weight: 800;
  color: var(--tx);
  line-height: 1.18;
}
.choice-row:last-child {
  margin-bottom: 0;
}

.choice-row.on {
  background: var(--green-bg);
  border-color: var(--green);
}

.choice-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--sub);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 900;
  color: #fff;
}

.choice-row.on .choice-dot {
  background: var(--green);
  border-color: var(--green);
}

.field-stack {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.input-v3 {
  width: 100%;
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  padding: 6px 9px;
  border-radius: 10px;
  border: 2px solid var(--sep);
  background: var(--bg);
  color: var(--tx);
}

/* Contractor Screen Cards */
.pro-card-num {
  background: var(--card);
  border: 2px solid var(--sep);
  border-radius: 15px;
  padding: 8.5px 11px;
  margin-bottom: 7px;
}

.pro-card-heading {
  font-size: 18.5px;
  font-weight: 900;
  color: var(--tx);
  margin: 0 0 5px;
  line-height: 1.18;
}

.house-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 4px 0;
  border-bottom: 1px solid var(--sep);
}
.house-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.house-text {
  font-size: 17.5px;
  font-weight: 800;
  color: var(--tx);
  line-height: 1.18;
}

.house-sub {
  font-size: 15.5px;
  font-weight: 600;
  color: var(--sub);
}

.house-btns {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}

.mini-action {
  background: var(--cream-btn);
  border: 2px solid var(--sep);
  border-radius: 9px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--tx);
  cursor: pointer;
}

/* Bottom Sheet for Call/SMS Previews */
#sheet-bg {
  position: absolute;
  inset: 0;
  background: rgba(20, 18, 16, 0.58);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 15;
}

#sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 94%;
  overflow-y: auto;
  transform: translateY(105%);
  transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
  background: var(--bg);
  border-radius: 24px 24px 0 0;
  padding: 12px 13px 14px;
  z-index: 16;
  box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.35);
}

.open #sheet {
  transform: translateY(0);
}
.open #sheet-bg {
  opacity: 1;
  pointer-events: auto;
}

/* Toast Notification */
#toast {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translate(-50%, -140px);
  background: var(--tx);
  color: #fff;
  padding: 12px 18px;
  border-radius: 99px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  transition: transform 0.25s ease;
  z-index: 30;
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
  pointer-events: none;
}

/* v5 Contractor Sub-Tabs & Upfront Promise Card */
.pro-mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}

.pro-tab-btn {
  border: 2px solid var(--sep);
  background: var(--card);
  color: var(--sub);
  border-radius: 12px;
  padding: 8px 6px;
  font-family: inherit;
  font-size: 16.5px;
  font-weight: 800;
  cursor: pointer;
  text-align: center;
  line-height: 1.15;
}

.pro-tab-btn.on {
  background: var(--tx);
  color: #ffffff;
  border-color: var(--tx);
}

.promise-card {
  background: #ffffff;
  border: 2.5px solid var(--green);
  border-radius: 18px;
  padding: 10px 12px;
  margin-bottom: 8px;
  box-shadow: 0 4px 12px rgba(15, 104, 70, 0.07);
}

.promise-title {
  font-size: 19.5px;
  font-weight: 900;
  color: var(--green);
  margin: 0 0 6px;
  line-height: 1.18;
}

.promise-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.promise-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4.5px 0;
  border-bottom: 1px solid var(--sep);
  font-size: 15.5px;
  line-height: 1.24;
  color: var(--tx);
}

.promise-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.promise-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--green-bg);
  color: var(--green);
  font-weight: 900;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.join-pro-card {
  background: var(--terra-bg);
  border: 2px solid #e6b8a4;
  border-radius: 16px;
  padding: 9.5px 12px;
}

.join-pro-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--terra);
  margin: 0 0 3px;
  line-height: 1.18;
}

.join-pro-sub {
  font-size: 15px;
  font-weight: 600;
  color: var(--tx);
  margin: 0 0 7px;
  line-height: 1.22;
}

/* v6 Day-60 Stripe Billing Preview Button & Modal */
.stripe-preview-btn {
  margin-top: 8px;
  width: 100%;
  background: #ffffff;
  color: var(--tx);
  border: 2.5px solid var(--tx);
  border-radius: 13px;
  padding: 10.5px 12px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  line-height: 1.18;
}

.stripe-preview-btn:active {
  background: var(--fill);
}

.stripe-modal-box {
  background: #ffffff;
  border: 2.5px solid var(--sep);
  border-radius: 20px;
  padding: 15px 15px 14px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.stripe-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.stripe-header-title {
  font-size: 19.5px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.2;
  margin: 0;
}

.stripe-close-x {
  background: var(--cream-btn);
  border: 2px solid var(--sep);
  border-radius: 10px;
  width: 34px;
  height: 34px;
  font-size: 17px;
  font-weight: 900;
  color: var(--tx);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.stripe-trial-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--green-bg);
  color: var(--green);
  border: 2px solid #9ad9be;
  border-radius: 99px;
  padding: 5px 12px;
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 10px;
}

.stripe-price-box {
  background: var(--bg);
  border: 2px solid var(--sep);
  border-radius: 15px;
  padding: 11px 13px;
  margin-bottom: 12px;
}

.stripe-amount-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
}

.stripe-amount-big {
  font-size: 31px;
  font-weight: 900;
  color: var(--tx);
  letter-spacing: -0.6px;
  line-height: 1.05;
}

.stripe-amount-per {
  font-size: 19px;
  font-weight: 800;
  color: var(--sub);
}

.stripe-terms-line {
  font-size: 16px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.28;
}

.stripe-sec-label {
  font-size: 15.5px;
  font-weight: 900;
  color: var(--sub);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 7px;
}

.apple-pay-btn {
  width: 100%;
  background: #000000;
  color: #ffffff;
  border: 2.5px solid #000000;
  border-radius: 13px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 21px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 10px;
  letter-spacing: -0.2px;
}

.stripe-or-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--sub);
  font-size: 14.5px;
  font-weight: 800;
  margin: 8px 0;
}

.stripe-or-divider::before,
.stripe-or-divider::after {
  content: "";
  flex: 1;
  height: 1.5px;
  background: var(--sep);
}

.stripe-card-preview {
  background: var(--bg);
  border: 2px solid var(--tx);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 900;
  color: var(--tx);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
}

.stripe-card-meta {
  font-size: 15.5px;
  font-weight: 800;
  color: var(--sub);
}

.stripe-founder-note {
  margin-top: 11px;
  background: #f3efe6;
  border: 1.5px dashed #b9ae9c;
  border-radius: 12px;
  padding: 9px 11px;
  font-size: 15px;
  font-weight: 700;
  font-style: italic;
  color: var(--tx);
  line-height: 1.3;
  text-align: left;
}

/* v7 Legal Protection Guardrails: Shield Badges, Checkboxes, Footer & Legal Modal */
.cat-tip-note {
  background: #fff9eb;
  border: 1.5px solid #e7c97a;
  border-radius: 10px;
  padding: 4.5px 9px;
  font-size: 13.8px;
  font-weight: 700;
  font-style: italic;
  color: var(--tx);
  margin-bottom: 6px;
  line-height: 1.2;
}

.pro-shield-badge {
  background: #eef6ff;
  border: 2px solid #9ec2ea;
  border-radius: 10px;
  padding: 5px 8px;
  font-size: 14.2px;
  font-weight: 900;
  color: #0d3c6e;
  margin-bottom: 5px;
  line-height: 1.18;
  display: flex;
  align-items: center;
  gap: 5px;
}

.pro-shield-badge.roc {
  background: #e9f7ef;
  border-color: #8ed1ad;
  color: #0c563a;
}

.roc-crosslink-bar {
  background: #e9f7ef;
  border: 2px solid #8ed1ad;
  border-radius: 11px;
  padding: 5.5px 9px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 13.8px;
  font-weight: 800;
  color: #0c563a;
  cursor: pointer;
  line-height: 1.18;
}

.ack-check-box {
  background: #ffffff;
  border: 2px solid var(--green);
  border-radius: 13px;
  padding: 8px 10px;
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  cursor: pointer;
  text-align: left;
}

.ack-check-icon {
  font-size: 19px;
  line-height: 1;
  margin-top: 1px;
  flex-shrink: 0;
}

.ack-check-text {
  font-size: 15px;
  font-weight: 800;
  color: var(--tx);
  line-height: 1.24;
}

.ack-terms-inline {
  display: inline-block;
  margin-top: 2px;
  color: var(--green);
  font-weight: 900;
  text-decoration: underline;
  font-size: 14.5px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}

.legal-footer-box {
  margin-top: 6px;
  background: #f2ece1;
  border: 2px solid var(--sep);
  border-radius: 13px;
  padding: 7px 9px;
  font-size: 13px;
  line-height: 1.22;
  color: var(--sub);
}

.legal-footer-line {
  margin-bottom: 3.5px;
}

.legal-footer-line b {
  color: var(--tx);
}

.legal-footer-btn {
  margin-top: 4px;
  width: 100%;
  background: #ffffff;
  border: 2px solid var(--tx);
  border-radius: 9px;
  padding: 5px 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 900;
  color: var(--tx);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

/* Compact overrides on Category screen so Pro Card + Shield + Footer Disclaimer fit cleanly */
.cat-compact .pro-card-v3 {
  padding: 7px 9.5px;
  margin-bottom: 5px;
}
.cat-compact .pro-header-v3 {
  margin-bottom: 4px;
  gap: 8px;
}
.cat-compact .pro-avatar-v3 {
  width: 36px;
  height: 36px;
  font-size: 15px;
}
.cat-compact .pro-name-v3 {
  font-size: 18.5px;
}
.cat-compact .pro-trade-v3 {
  font-size: 14px;
}
.cat-compact .pro-phone-banner {
  padding: 3.5px 8px;
  font-size: 15.5px;
  margin-bottom: 4px;
}
.cat-compact .neighbor-vouch-box {
  padding: 4.5px 7.5px;
  margin-bottom: 4px;
}
.cat-compact .vouch-headline {
  font-size: 15px;
  margin-bottom: 1.5px;
}
.cat-compact .vouch-item {
  font-size: 13.8px;
  margin-bottom: 1.5px;
  padding-bottom: 0;
  line-height: 1.16;
}
.cat-compact .schedule-box-v3 {
  font-size: 13.8px;
  margin-bottom: 4.5px;
  gap: 1px;
  line-height: 1.16;
}
.cat-compact .stacked-actions {
  gap: 4px;
}
.cat-compact .stacked-actions .full-btn {
  padding: 6px 9px;
  font-size: 15.5px;
}
.cat-compact .legal-footer-box {
  margin-top: 4px;
  padding: 5.5px 8px;
  font-size: 12.2px;
  line-height: 1.18;
}
.cat-compact .legal-footer-line {
  margin-bottom: 2.5px;
}
.cat-compact .legal-footer-btn {
  margin-top: 3px;
  padding: 4px 7px;
  font-size: 13.4px;
}

/* Legal Protection Modal */
.legal-modal-card {
  background: #ffffff;
  border: 2.5px solid var(--tx);
  border-radius: 18px;
  padding: 11px 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.legal-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.legal-modal-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.15;
  margin: 0;
}

.legal-modal-sub {
  font-size: 13.8px;
  font-weight: 800;
  color: var(--green);
  background: var(--green-bg);
  border: 1.5px solid #9ad9be;
  border-radius: 99px;
  padding: 2.5px 9px;
  display: inline-block;
  margin-bottom: 6px;
}

.legal-sec-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 7px;
}

.legal-sec-item {
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 10px;
  padding: 6px 8.5px;
  font-size: 13.8px;
  line-height: 1.2;
  color: var(--tx);
}

.legal-sec-item b {
  display: block;
  font-size: 14.6px;
  font-weight: 900;
  color: var(--tx);
  margin-bottom: 1.5px;
}

.legal-summary-checks {
  background: #eef6ff;
  border: 1.5px solid #9ec2ea;
  border-radius: 10px;
  padding: 5.5px 8px;
  font-size: 13.4px;
  font-weight: 800;
  color: #0d3c6e;
  line-height: 1.2;
  margin-bottom: 7px;
}

/* v8: 3-Section Grouped 12-Category Home Screen Layout */
.home-v8-wrap .hero-title {
  font-size: 22px;
  margin-bottom: 2px;
}

.home-v8-wrap .hero-sub {
  font-size: 14.8px;
  margin-bottom: 6px;
  line-height: 1.22;
}

.cat-sec-group {
  margin-bottom: 6px;
}

.cat-sec-header {
  font-size: 15.2px;
  font-weight: 900;
  color: var(--green);
  background: var(--green-bg);
  border: 1.5px solid #a8dfc6;
  border-radius: 9px;
  padding: 3.5px 9px;
  margin: 0 0 4.5px;
  letter-spacing: -0.1px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.cat-grid-v8 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.5px;
}

.cat-btn-v8 {
  background: var(--card);
  border: 2px solid var(--sep);
  border-radius: 13px;
  padding: 6.5px 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}

.cat-btn-v8:active {
  border-color: var(--green);
  background: var(--green-bg);
}

.cat-top-v8 {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
}

.cat-ico-v8 {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.cat-label-v8 {
  font-size: 15px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.12;
  letter-spacing: -0.2px;
}

.cat-sub-v8 {
  font-size: 12.6px;
  font-weight: 600;
  font-style: italic;
  color: var(--sub);
  line-height: 1.15;
}

.cat-count-v8 {
  font-size: 12px;
  font-weight: 800;
  color: var(--green);
  line-height: 1.1;
}

.home-v8-bottom-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 6px;
}

.home-v8-add-btn {
  background: var(--terra-bg);
  border: 2px solid #e6b8a4;
  border-radius: 12px;
  padding: 6.5px 8px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.home-v8-add-title {
  font-size: 14px;
  font-weight: 900;
  color: var(--terra);
  line-height: 1.15;
  margin-bottom: 1.5px;
}

.home-v8-add-sub {
  font-size: 12px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.15;
}

.home-v8-pro-btn {
  background: var(--fill);
  border: 2px solid var(--sep);
  border-radius: 12px;
  padding: 6.5px 8px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.home-v8-pro-title {
  font-size: 14px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.15;
  margin-bottom: 1.5px;
}

.home-v8-pro-sub {
  font-size: 12px;
  font-weight: 700;
  color: var(--green);
  line-height: 1.15;
}

/* v9: Live Netlify Form Capture Badge & Direct SMS Button */
.netlify-saved-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--green-bg);
  color: var(--green);
  border: 1.5px solid #9ad9be;
  border-radius: 99px;
  padding: 4px 11px;
  font-size: 14.5px;
  font-weight: 900;
  margin-bottom: 10px;
}

.direct-sms-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  background: var(--terra);
  color: #ffffff;
  border: 2.5px solid var(--terra);
  border-radius: 13px;
  padding: 13px 12px;
  font-family: inherit;
  font-size: 18.5px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  margin-bottom: 9px;
  text-align: center;
  line-height: 1.18;
}

.direct-sms-btn:active {
  opacity: 0.92;
}

/* =====================================================================
   v10: NEIGHBOR-VETTED CONTRACTOR APP — 4-SCREEN FLOW + ADMIN VIEW
   ===================================================================== */

/* Pinned Favorites Bar on Home Screen */
.pinned-strip-v10 {
  background: #fff9eb;
  border: 2px solid #e7c97a;
  border-radius: 12px;
  padding: 5.5px 8px;
  margin-bottom: 6px;
}

.pinned-strip-header {
  font-size: 12.8px;
  font-weight: 900;
  color: #7c4a0d;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pinned-chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.pinned-chip-btn {
  background: #ffffff;
  border: 1.5px solid #d4a74a;
  border-radius: 99px;
  padding: 3.5px 9px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--tx);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.cat-pin-toggle {
  margin-left: auto;
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 7px;
  padding: 1.5px 5px;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--sub);
  cursor: pointer;
  line-height: 1.1;
  flex-shrink: 0;
}

.cat-pin-toggle.on {
  background: #fff4d6;
  border-color: #d4a74a;
  color: #7c4a0d;
}

.home-admin-bar-v10 {
  margin-top: 5px;
  width: 100%;
  background: #eef6ff;
  border: 1.5px solid #9ec2ea;
  border-radius: 10px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 13.2px;
  font-weight: 800;
  color: #0d3c6e;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Screen 2: Clean Scannable Category List Cards (Sorted by Rating + Reviews) */
.cat-list-v10 .back-btn {
  padding: 7px 11px;
  font-size: 17px;
  margin-bottom: 6px;
}

.cat-list-v10 .hero-title {
  font-size: 21.5px;
  margin-bottom: 4px;
}

.cat-pro-row-v10 {
  background: var(--card);
  border: 2.5px solid var(--sep);
  border-radius: 16px;
  padding: 10px 11.5px;
  margin-bottom: 8px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
}

.cat-pro-top-v10 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 5px;
}

.cat-pro-avatar-v10 {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 17px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2.5px solid var(--terra-bg);
}

.cat-pro-name-v10 {
  font-size: 19px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.14;
}

.cat-pro-rating-v10 {
  font-size: 14.8px;
  font-weight: 900;
  color: var(--green);
  margin-top: 2px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.gold-stars {
  color: #b45309;
  letter-spacing: 0.5px;
}

.cat-pro-preview-v10 {
  font-size: 14.8px;
  font-weight: 700;
  color: var(--sub);
  margin: 4px 0 7px;
  line-height: 1.22;
}

.cat-pro-actions-v10 {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 6px;
}

.btn-open-profile-v10 {
  background: var(--green);
  color: #ffffff;
  border: 2px solid var(--green);
  border-radius: 11px;
  padding: 8.5px 9px;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  line-height: 1.15;
}

.btn-quick-call-v10 {
  background: var(--cream-btn);
  color: var(--tx);
  border: 2px solid var(--tx);
  border-radius: 11px;
  padding: 8.5px 8px;
  font-family: inherit;
  font-size: 14.8px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
}

/* Screen 3: Contractor Profile (Tap-to-Call + Tap-to-Text + Verified Neighbor Trust Block) */
.profile-v10 .back-btn {
  padding: 6.5px 11px;
  font-size: 16.5px;
  margin-bottom: 6px;
}

.profile-header-card-v10 {
  background: var(--card);
  border: 2.5px solid var(--sep);
  border-radius: 16px;
  padding: 10px 12px;
  margin-bottom: 7px;
}

.profile-top-row-v10 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.profile-avatar-v10 {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 3px solid var(--terra-bg);
}

.profile-name-v10 {
  font-size: 20.5px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.14;
}

.profile-trade-v10 {
  font-size: 14.8px;
  font-weight: 700;
  color: var(--sub);
  margin-top: 2px;
  line-height: 1.18;
}

.profile-spec-line-v10 {
  font-size: 14.4px;
  font-weight: 700;
  color: var(--tx);
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 10px;
  padding: 5.5px 8.5px;
  margin-top: 5px;
  line-height: 1.22;
}

.primary-contact-stack-v10 {
  display: flex;
  flex-direction: column;
  gap: 6.5px;
  margin-bottom: 8px;
}

.giant-call-btn-v10 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  background: var(--green);
  color: #ffffff;
  border: 2.5px solid var(--green);
  border-radius: 14px;
  padding: 11.5px 12px;
  font-family: inherit;
  font-size: 18.5px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(15, 104, 70, 0.18);
}

.giant-text-btn-v10 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  background: var(--terra);
  color: #ffffff;
  border: 2.5px solid var(--terra);
  border-radius: 14px;
  padding: 11px 12px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(184, 72, 32, 0.16);
}

/* The Neighbor Trust Block */
.trust-block-v10 {
  background: #ffffff;
  border: 2.5px solid var(--green);
  border-radius: 16px;
  padding: 9.5px 11px;
  margin-bottom: 7px;
}

.trust-rating-banner-v10 {
  font-size: 16.5px;
  font-weight: 900;
  color: var(--tx);
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.18;
}

.verified-only-badge-v10 {
  background: var(--green-bg);
  border: 1.5px solid #9ad9be;
  border-radius: 10px;
  padding: 5px 8px;
  font-size: 13.2px;
  font-weight: 800;
  color: var(--green);
  margin-bottom: 7px;
  line-height: 1.2;
}

.verified-only-badge-v10 span {
  display: block;
  font-weight: 600;
  color: var(--tx);
  font-size: 12.6px;
  margin-top: 1px;
}

.review-card-v10 {
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 11px;
  padding: 6.5px 9px;
  margin-bottom: 5.5px;
}

.review-quote-v10 {
  font-size: 14.8px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.22;
  margin-bottom: 3px;
}

.review-meta-row-v10 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 13.4px;
  font-weight: 900;
  color: var(--green);
}

.flag-review-btn-v10 {
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 12.2px;
  font-weight: 700;
  color: var(--sub);
  text-decoration: underline;
  cursor: pointer;
}

.btn-leave-review-v10 {
  margin-top: 6px;
  width: 100%;
  background: #fff9eb;
  border: 2px solid #d4a74a;
  border-radius: 12px;
  padding: 9px 10px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 900;
  color: var(--tx);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Screen 4: Leave a Verified Neighbor Review */
.review-form-v10 .back-btn {
  padding: 6.5px 11px;
  font-size: 16.5px;
  margin-bottom: 6px;
}

.star-picker-row-v10 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 4px;
}

.star-tap-btn-v10 {
  flex: 1;
  background: var(--bg);
  border: 2px solid var(--sep);
  border-radius: 11px;
  padding: 6px 0;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #c4b9a5;
  text-align: center;
}

.star-tap-btn-v10.on {
  background: #fff8e6;
  border-color: #d97706;
  color: #d97706;
}

.verify-gate-box-v10 {
  background: var(--green-bg);
  border: 2px solid #9ad9be;
  border-radius: 15px;
  padding: 8.5px 10.5px;
  margin-bottom: 7px;
}

.verify-gate-title-v10 {
  font-size: 16.5px;
  font-weight: 900;
  color: var(--green);
  margin: 0 0 3px;
}

.verify-gate-sub-v10 {
  font-size: 13.4px;
  font-weight: 700;
  color: var(--tx);
  margin: 0 0 6px;
  line-height: 1.2;
}

.field-label-v10 {
  font-size: 13.5px;
  font-weight: 900;
  color: var(--tx);
  margin: 4px 0 2px;
  display: block;
}

.verify-rule-note-v10 {
  margin-top: 6px;
  background: #ffffff;
  border: 1.5px solid #9ad9be;
  border-radius: 9px;
  padding: 5px 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--green);
  line-height: 1.2;
}

/* Lightweight Admin View (Darin) */
.admin-v10 .back-btn {
  padding: 6px 11px;
  font-size: 16px;
  margin-bottom: 6px;
}

.admin-header-pill-v10 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eef6ff;
  border: 1.5px solid #9ec2ea;
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 13px;
  font-weight: 900;
  color: #0d3c6e;
  margin-bottom: 4px;
}

.admin-queue-card-v10 {
  background: var(--card);
  border: 2px solid var(--sep);
  border-radius: 14px;
  padding: 8px 10px;
  margin-bottom: 7px;
}

.admin-queue-title-v10 {
  font-size: 15.8px;
  font-weight: 900;
  color: var(--tx);
  margin: 0 0 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-badge-count {
  background: var(--terra-bg);
  color: var(--terra);
  border: 1.5px solid #e6b8a4;
  border-radius: 99px;
  padding: 1.5px 8px;
  font-size: 12.5px;
  font-weight: 900;
}

.admin-item-box-v10 {
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 11px;
  padding: 6.5px 8.5px;
  margin-bottom: 5px;
}
.admin-item-box-v10:last-child {
  margin-bottom: 0;
}

.admin-item-main-v10 {
  font-size: 14.2px;
  font-weight: 800;
  color: var(--tx);
  line-height: 1.2;
  margin-bottom: 2px;
}

.admin-item-sub-v10 {
  font-size: 13px;
  font-weight: 700;
  color: var(--sub);
  line-height: 1.18;
  margin-bottom: 5px;
}

.admin-btn-row-v10 {
  display: flex;
  gap: 6px;
}

.admin-approve-btn {
  flex: 1.35;
  background: var(--green);
  color: #ffffff;
  border: 1.5px solid var(--green);
  border-radius: 8px;
  padding: 5.5px 7px;
  font-family: inherit;
  font-size: 13.2px;
  font-weight: 900;
  cursor: pointer;
}

.admin-reject-btn {
  flex: 0.85;
  background: #ffffff;
  color: #991b1b;
  border: 1.5px solid #dc2626;
  border-radius: 8px;
  padding: 5.5px 7px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.footer-btn-row-v10 {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 5px;
  margin-top: 4px;
}

/* v11: Clean full-width span when a category section has an odd number of tiles */
.cat-grid-v8 > .cat-btn-v8:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}


/* v12: Real Launch Mode (0 Sample Providers Yet) */
.launch-banner-v12 {
  background: #fff9eb;
  border: 2px solid #d4a74a;
  border-radius: 14px;
  padding: 8.5px 11px;
  margin-bottom: 10px;
}

.launch-banner-title-v12 {
  font-size: 16px;
  font-weight: 900;
  color: #8a5300;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.launch-banner-sub-v12 {
  font-size: 14px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.25;
}

.cat-count-v8.open-spots {
  color: #8a5300;
  background: #fff8e6;
  border: 1.5px solid #e7c97a;
  border-radius: 8px;
  padding: 2px 6px;
  display: inline-block;
  font-size: 13.2px;
  font-weight: 900;
}

.empty-cat-card-v12 {
  background: var(--card);
  border: 2.5px solid var(--tx);
  border-radius: 17px;
  padding: 14px 13px;
  margin-bottom: 10px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.empty-cat-pill-v12 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff8e6;
  color: #8a5300;
  border: 1.5px solid #e7c97a;
  border-radius: 99px;
  padding: 4px 11px;
  font-size: 14px;
  font-weight: 900;
  margin-bottom: 8px;
}

.empty-cat-title-v12 {
  font-size: 20.5px;
  font-weight: 900;
  color: var(--tx);
  line-height: 1.18;
  margin: 0 0 6px;
  letter-spacing: -0.3px;
}

.empty-cat-desc-v12 {
  font-size: 15.2px;
  font-weight: 700;
  color: var(--sub);
  line-height: 1.3;
  margin: 0 0 12px;
}

.empty-cat-steps-v12 {
  background: var(--bg);
  border: 1.5px solid var(--sep);
  border-radius: 12px;
  padding: 9px 11px;
  margin-bottom: 12px;
  font-size: 14.4px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.32;
}

.empty-cat-steps-v12 div {
  margin-bottom: 4px;
}
.empty-cat-steps-v12 div:last-child {
  margin-bottom: 0;
}

.empty-btn-recommend-v12 {
  width: 100%;
  background: var(--terra);
  color: #ffffff;
  border: 2.5px solid var(--terra);
  border-radius: 13px;
  padding: 12px 12px;
  font-family: inherit;
  font-size: 17.5px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  margin-bottom: 8px;
  display: block;
}

.empty-btn-pro-v12 {
  width: 100%;
  background: var(--green);
  color: #ffffff;
  border: 2.5px solid var(--green);
  border-radius: 13px;
  padding: 12px 12px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  display: block;
}

.mode-toggle-bar-v12 {
  background: #eef6ff;
  border: 2px solid #9ec2ea;
  border-radius: 12px;
  padding: 8px 10px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.mode-toggle-text-v12 {
  font-size: 13.5px;
  font-weight: 800;
  color: #0d3c6e;
  line-height: 1.2;
}

.mode-toggle-btn-v12 {
  background: #0d3c6e;
  color: #ffffff;
  border: 0;
  border-radius: 8px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}


.header-save-app-btn {
  background: var(--green);
  color: #ffffff;
  border: none;
  border-radius: 99px;
  padding: 5px 10px;
  font-family: inherit;
  font-size: 13.8px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 2px 5px rgba(15, 104, 70, 0.25);
}

.save-app-green-btn-v17 {
  width: 100%;
  background: var(--green);
  color: #ffffff;
  border: 2px solid #09472f;
  border-radius: 12px;
  padding: 10px 13px;
  margin-top: 8px;
  margin-bottom: 6px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  box-shadow: 0 3px 8px rgba(15, 104, 70, 0.22);
}

/* v19: Live Bouncing Pointer to Safari Bottom Center Share Icon */
@keyframes rpBounceDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

.safari-share-pointer-v19 {
  margin-top: 8px;
  background: #0f6846;
  color: #ffffff;
  border: 2.5px solid #073b26;
  border-radius: 14px;
  padding: 9px 11px 8px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(15, 104, 70, 0.32);
}

.safari-share-pointer-top-v19 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15.5px;
  font-weight: 900;
  line-height: 1.22;
}

.ios-share-svg-badge-v19 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #ffffff;
  color: #007aff;
  border-radius: 8px;
  flex-shrink: 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.safari-bounce-arrow-v19 {
  font-size: 24px;
  line-height: 1;
  margin-top: 3px;
  display: inline-block;
  animation: rpBounceDown 1.1s infinite ease-in-out;
}

/* v22: Share App & Share Pro Buttons */
.app-brand-wrap {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  line-height: 1.05;
}

.app-loc-sub {
  font-size: 12.2px;
  font-weight: 800;
  color: var(--green);
  margin-top: 1px;
}

.header-share-app-btn {
  background: var(--terra);
  color: #ffffff;
  border: none;
  border-radius: 99px;
  padding: 5.5px 10px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 2px 5px rgba(184, 72, 32, 0.25);
}

.save-share-row-v22 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  margin-bottom: 6px;
}

.share-app-terra-btn-v22 {
  width: 100%;
  background: var(--terra);
  color: #ffffff;
  border: 2px solid #8f3515;
  border-radius: 12px;
  padding: 10px 13px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  box-shadow: 0 3px 8px rgba(184, 72, 32, 0.22);
}

.share-pro-btn-v22 {
  width: 100%;
  background: var(--cream-btn);
  color: var(--tx);
  border: 2.5px solid var(--tx);
  border-radius: 13px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 16.5px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
}
