/* New vendor sign-up form [pvp_vendor_signup] (inc/vendor_signup.php, 2026-10-12). */
.pvp-su { max-width: 760px; margin: 0 auto; font-family: 'Fira Sans', sans-serif; color: #1A1A2E; }
.pvp-su__form { padding: 26px; border: 1px solid #DCE6E6; border-radius: 18px; background: #fff; box-shadow: 0 16px 40px rgba(26, 57, 92, .08); }
.pvp-su__error { margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: #FDECEC; border: 1px solid #F3B9B9; color: #8A1F1F; font-weight: 500; }
.pvp-su__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pvp-su__step { margin: 0 0 22px; padding: 0; border: 0; min-width: 0; }
.pvp-su__step > legend { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 0; font: 700 20px 'Fira Sans Extra Condensed', sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.pvp-su__num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #0BB7B3; color: #fff; font: 700 15px 'Fira Sans', sans-serif; }
.pvp-su__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; }
.pvp-su__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.pvp-su__wide { grid-column: 1 / -1; }
.pvp-su__field { display: flex; flex-direction: column; gap: 5px; margin: 0; padding: 0; border: 0; font-size: 14px; font-weight: 600; min-width: 0; }
.pvp-su__field small { font-weight: 400; color: #6b7780; }
.pvp-su__field legend { padding: 0; margin: 0 0 5px; font-size: 14px; font-weight: 600; }
body .pvp-su input[type=text], body .pvp-su input[type=email], body .pvp-su input[type=tel], body .pvp-su input[type=url], body .pvp-su input[type=password], body .pvp-su select {
  width: 100%; height: 46px; margin: 0; padding: 0 12px; border: 1.5px solid #cfd8dc; border-radius: 10px; background: #fff; font: 400 15.5px 'Fira Sans', sans-serif; color: #1A1A2E; box-shadow: none; }
body .pvp-su input:focus, body .pvp-su select:focus { border-color: #0BB7B3; box-shadow: 0 0 0 4px rgba(11, 183, 179, .15); outline: none; }
.pvp-su__pills { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.pvp-su__pills legend { width: 100%; }
.pvp-su__pills label { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 1.5px solid #cfd8dc; border-radius: 999px; cursor: pointer; font-weight: 500; }
.pvp-su__pills label:has(input:checked) { border-color: #0BB7B3; background: #E3F6F5; }
.pvp-su__pills input { accent-color: #0BB7B3; }
.pvp-su__hint { margin: 8px 0 0; font-size: 13.5px; color: #6b7780; }
.pvp-su__plans { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pvp-su__plan { position: relative; cursor: pointer; }
.pvp-su__plan input { position: absolute; opacity: 0; }
.pvp-su__plan-box { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 16px; border: 2px solid #DCE6E6; border-radius: 14px; }
.pvp-su__plan input:checked + .pvp-su__plan-box { border-color: #0BB7B3; background: #F1FAF9; box-shadow: 0 8px 22px rgba(11, 183, 179, .14); }
.pvp-su__plan input:focus-visible + .pvp-su__plan-box { outline: 3px solid rgba(11, 183, 179, .4); }
.pvp-su__plan-box b { font: 700 17px 'Fira Sans', sans-serif; }
.pvp-su__plan-price { font-size: 15px; color: #5d6670; }
.pvp-su__plan-price .pvp-price__now { font: 700 26px 'Fira Sans', sans-serif; color: #1A1A2E; }
.pvp-su__plan-price .pvp-price__was { color: #8A96A3; }
.pvp-su__plan-box small { font-size: 12.5px; color: #6b7780; }
.pvp-su__offer { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #FFF8E5; border: 1px solid #F0D58A; font-size: 14.5px; }
.pvp-su__terms { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 16px; font-size: 14px; color: #44515c; }
.pvp-su__terms input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; accent-color: #0BB7B3; }
body .pvp-su .pvp-su__submit { display: block; width: 100%; height: 52px; margin: 0; border: 0; border-radius: 12px; background: #0BB7B3; color: #1A1A2E; font: 700 17px 'Fira Sans', sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; }
body .pvp-su .pvp-su__submit:hover { background: #09a3a0; color: #1A1A2E; }
.pvp-su__fine { margin: 10px 0 0; text-align: center; font-size: 13.5px; color: #6b7780; }
body .pvp-su a { color: #0A7F7C; font-weight: 600; }
.pvp-welcome { margin: 0 0 16px; padding: 14px 16px; border-radius: 12px; background: #E3F6F5; border: 1px solid #9fd9d7; color: #1A1A2E; font-size: 15px; }
@media (max-width: 640px) {
  .pvp-su__form { padding: 18px 16px; }
  .pvp-su__row, .pvp-su__grid, .pvp-su__plans { grid-template-columns: 1fr; }
}
.pvp-su__existing { margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: #fff; border: 1.5px solid #9fd9d7; font-size: 15px; text-align: center; }
.pvp-su__dup { margin: 0 0 14px; padding: 16px 18px; border-radius: 14px; background: #FFF8E5; border: 1.5px solid #F0D58A; font-size: 15px; }
.pvp-su__dup p { margin: 0 0 8px; }
.pvp-su__dup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
body .pvp-su a.pvp-su__dup-btn { display: inline-block; padding: 10px 16px; border-radius: 10px; background: #0BB7B3; color: #1A1A2E !important; text-decoration: none !important; }
.pvp-su__dup-note { font-size: 13.5px; color: #6b7780; }
.pvp-su__notdup { padding: 10px 12px; border-radius: 10px; background: #FFF8E5; }

/* Sign-up pitch band under the hero (inc/signup_pitch.php, owner 2026-10-16) */
.pvp-pitch { max-width: 920px; margin: 0 auto; padding: 44px 40px 40px; border: 1px solid #CFEAE8; border-radius: 22px; background: linear-gradient(180deg, #F2FBFA 0%, #FFFFFF 100%); color: #1A1A2E; font-family: 'Fira Sans', sans-serif; text-align: center; }
html body .pvp-pitch h2.pvp-pitch__title { margin: 0 0 14px; font: 400 40px/1.15 'Old Standard TT', Georgia, serif; color: #1A1A2E; text-wrap: balance; }
.pvp-pitch .pvp-pitch__lede { max-width: 720px; margin: 0 auto 22px; padding: 0; font-size: 18px; line-height: 1.6; color: #44515c; }
.pvp-pitch__lede b { color: #0A6B68; font-weight: 600; }
.pvp-pitch__points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 860px; margin: 0 auto 24px; padding: 0; list-style: none; text-align: left; }
.pvp-pitch__points li { margin: 0; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1px solid #E3EEEE; font-size: 15.5px; line-height: 1.5; color: #44515c; }
.pvp-pitch__points b { display: block; margin-bottom: 4px; font-size: 16.5px; color: #1A1A2E; }
.pvp-pitch__roi { max-width: 720px; margin: 0 auto 22px; padding: 18px 22px; border-radius: 16px; background: #1A395C; color: #E8EEF4; }
.pvp-pitch__roi p { margin: 0; padding: 0; font-size: 16.5px; line-height: 1.55; color: #E8EEF4; }
.pvp-pitch__roi .pvp-pitch__roi-title { margin-bottom: 4px; font: 600 20px 'Fira Sans', sans-serif; color: #7FE3E0; }
.pvp-pitch .pvp-pitch__cta { margin: 0; padding: 0; }
html body a.pvp-pitch__btn { display: inline-block; padding: 14px 28px; border-radius: 12px; background: #0BB7B3; color: #1A1A2E; font: 700 16.5px 'Fira Sans', sans-serif; text-decoration: none; }
html body a.pvp-pitch__btn:hover, html body a.pvp-pitch__btn:focus { background: #0A9E9A; color: #fff; }
@media (max-width: 767px) {
	.pvp-pitch { padding: 28px 18px; border-radius: 16px; }
	html body .pvp-pitch h2.pvp-pitch__title { font-size: 29px; }
	.pvp-pitch .pvp-pitch__lede { font-size: 16.5px; }
	.pvp-pitch__points { grid-template-columns: 1fr; }
}

/* Styled city dropdown on the sign-up form (assets/js/pvp_select.js, 2026-10-17): keep it its natural height so the
   list opens right under the box (the field is a flex column that was stretching it). */
.pvp-su__form .pvp-sel { flex: 0 0 auto; height: auto; align-self: stretch; width: 100%; }
.pvp-su__form .pvp-sel .pvp-sel__panel { z-index: 30; }
.pvp-su__step .pvp-su__row { align-items: start; }
