/* Dedicated Visibility funnel: overview links to separate contact and checkout pages. */
.visibility-funnel-page{
  display:grid;
  gap:clamp(16px,2.2vw,24px);
}
.visibility-funnel-header{
  background:
    radial-gradient(110% 150% at 8% 0%,color-mix(in oklab,var(--accent) 14%,transparent) 0%,transparent 58%),
    linear-gradient(135deg,color-mix(in oklab,var(--surface-2) 92%,white 8%),color-mix(in oklab,var(--surface) 88%,white 12%));
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:22px;
  padding:clamp(22px,3.5vw,38px);
  box-shadow:var(--shadow-2);
}
.visibility-funnel-header h1{
  max-width:860px;
  margin:12px 0 10px;
  font-size:clamp(31px,4.2vw,52px);
  line-height:1.06;
  letter-spacing:-.03em;
}
.visibility-funnel-header .biz-lead{max-width:820px;line-height:1.55}
.visibility-funnel-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.visibility-funnel-back,
.visibility-funnel-page .biz-login-link{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  border:1px solid color-mix(in oklab,var(--text) 10%,transparent);
  border-radius:999px;
  background:color-mix(in oklab,var(--surface) 90%,transparent);
  color:var(--text);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.visibility-funnel-back{margin-bottom:20px}
.visibility-funnel-topline .visibility-funnel-back{margin-bottom:0}
.visibility-funnel-back:hover,
.visibility-funnel-page .biz-login-link:hover{background:var(--bg);text-decoration:none}
.visibility-funnel-step{
  display:inline-flex;
  margin-bottom:10px;
  color:var(--accent);
  font-size:13px;
  font-weight:850;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.visibility-funnel-page .biz-section{
  padding:clamp(18px,2.7vw,28px);
  border-radius:22px;
}
.visibility-funnel-form-only{max-width:900px;width:100%;margin:0 auto}
.visibility-funnel-form-only .biz-form-card{margin:0}

.visibility-purchase-page .visibility-funnel-price{
  background:
    radial-gradient(85% 105% at 100% 0%,color-mix(in oklab,var(--accent-2) 10%,transparent) 0%,transparent 62%),
    var(--surface);
  border-color:color-mix(in oklab,var(--accent) 24%,transparent);
}
.visibility-purchase-page .visibility-term-control{display:block;margin-top:22px}
.visibility-purchase-page .visibility-term-title{
  display:block;
  margin-bottom:14px;
  color:var(--text);
  font-size:clamp(22px,2.5vw,30px);
  line-height:1.15;
  letter-spacing:-.02em;
}
.visibility-purchase-page .visibility-range{
  width:100%;
  min-height:34px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  accent-color:var(--accent);
  cursor:pointer;
}
.visibility-purchase-page .visibility-range:focus{outline:2px solid color-mix(in oklab,var(--accent) 32%,transparent);outline-offset:4px}
.visibility-purchase-page .visibility-range-labels{display:flex;justify-content:space-between;margin-top:2px;color:var(--muted);font-size:12px;font-weight:750}
.visibility-purchase-page .visibility-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.visibility-purchase-page .visibility-summary>div{
  display:flex;
  align-items:center;
  min-height:78px;
  padding:15px 17px;
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:16px;
  background:var(--bg);
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.visibility-purchase-page .visibility-summary strong{display:block;color:var(--text);font-size:clamp(18px,2.05vw,25px);line-height:1.16;letter-spacing:-.02em}
.visibility-purchase-page .visibility-summary__total{border-color:color-mix(in oklab,var(--accent) 35%,transparent);background:color-mix(in oklab,var(--accent) 8%,var(--bg))}
.visibility-purchase-page .visibility-bonus{
  margin-top:12px;
  padding:11px 13px;
  border:1px solid color-mix(in oklab,var(--good) 32%,transparent);
  border-radius:13px;
  background:color-mix(in oklab,var(--good) 9%,var(--bg));
  color:var(--text);
  font-weight:750;
}
.visibility-purchase-page .visibility-quote-status,
.visibility-purchase-page .biz-status{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid color-mix(in oklab,var(--text) 10%,transparent);
  border-radius:14px;
  background:var(--bg);
  font-size:14px;
}
.visibility-purchase-page .visibility-quote-status[hidden],
.visibility-purchase-page .biz-status[hidden]{display:none!important}
.visibility-purchase-page .visibility-quote-status.is-disabled,
.visibility-purchase-page .visibility-quote-status.is-unavailable,
.visibility-purchase-page .visibility-quote-status.is-invalid,
.visibility-purchase-page .biz-status.is-error{background:color-mix(in oklab,var(--bad) 9%,var(--bg));border-color:color-mix(in oklab,var(--bad) 30%,transparent)}
.visibility-purchase-page .biz-status.is-success{background:color-mix(in oklab,var(--good) 9%,var(--bg));border-color:color-mix(in oklab,var(--good) 30%,transparent)}
.visibility-purchase-page .biz-status.is-info{background:color-mix(in oklab,var(--accent) 8%,var(--bg));border-color:color-mix(in oklab,var(--accent) 28%,transparent)}
.visibility-purchase-page .visibility-purchase-state{
  display:grid;
  grid-template-columns:minmax(220px,max-content) minmax(0,1fr);
  gap:8px 18px;
  align-items:center;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent);
}
.visibility-purchase-page .visibility-purchase-state .btn{grid-row:1 / span 2;min-height:48px}
.visibility-purchase-page .visibility-stripe-note,
.visibility-purchase-page .visibility-terms-notice{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.visibility-purchase-page [data-visibility-purchase][disabled]{cursor:not-allowed;opacity:.56;filter:saturate(.45)}
.visibility-purchase-page #visibilityCheckout{scroll-margin-top:92px}

.visibility-purchase-page .visibility-login-card{
  max-width:720px;
  margin-top:18px;
  padding:clamp(17px,2.5vw,24px);
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:18px;
  background:var(--surface);
}
.visibility-purchase-page .visibility-login-card h3,
.visibility-purchase-page .visibility-listing-head h3{margin:0 0 8px;font-size:22px}
.visibility-purchase-page .visibility-login-card p,
.visibility-purchase-page .visibility-listing-head p{margin:0;color:var(--muted)}
.visibility-purchase-page .biz-form{display:grid;gap:12px;margin-top:16px}
.visibility-purchase-page .biz-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:800}
.visibility-purchase-page .biz-form input{
  width:100%;
  padding:12px 13px;
  border:1px solid color-mix(in oklab,var(--text) 11%,transparent);
  border-radius:14px;
  background:var(--bg);
  color:var(--text);
  font:inherit;
}
.visibility-purchase-page .biz-form input:focus{outline:2px solid color-mix(in oklab,var(--accent) 25%,transparent);border-color:color-mix(in oklab,var(--accent) 48%,var(--text))}
.visibility-purchase-page .biz-form-actions{display:flex;gap:10px;flex-wrap:wrap}
.visibility-purchase-page .biz-hidden{display:none!important}
.visibility-purchase-page .visibility-listing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-top:20px}
.visibility-purchase-page .biz-summary{display:grid;gap:10px;margin-top:16px;color:var(--muted)}
.visibility-purchase-page .biz-listings{display:grid;gap:14px;margin-top:16px}
.visibility-purchase-page .biz-listing{
  display:grid;
  gap:14px;
  padding:clamp(16px,2.4vw,22px);
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-2);
}
.visibility-purchase-page .biz-listing__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.visibility-purchase-page .biz-listing__title{margin:0;font-size:22px}
.visibility-purchase-page .biz-badge-row{display:flex;gap:7px;flex-wrap:wrap}
.visibility-purchase-page .biz-badge{display:inline-flex;min-height:28px;align-items:center;padding:4px 10px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:999px;background:var(--bg);font-size:12px;font-weight:800}
.visibility-purchase-page .biz-badge--featured{background:color-mix(in oklab,var(--accent-2) 22%,white)}
.visibility-purchase-page .biz-listing__meta{display:grid;gap:8px;color:var(--muted);font-size:14px}
.visibility-purchase-page .biz-listing__meta strong{display:block;color:var(--text)}
.visibility-purchase-page .biz-listing__actions{display:grid;gap:10px}
.visibility-purchase-page .biz-listing__actions>a{width:max-content}
.visibility-purchase-page .biz-visibility-purchase{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid color-mix(in oklab,var(--accent) 20%,transparent);
  border-radius:16px;
  background:color-mix(in oklab,var(--accent) 5%,var(--bg));
}
.visibility-purchase-page .visibility-selected-term{display:flex;justify-content:space-between;align-items:center;gap:12px}
.visibility-purchase-page .visibility-selected-term span{color:var(--muted);font-size:13px;font-weight:750}
.visibility-purchase-page .visibility-selected-term strong{font-size:18px}
.visibility-purchase-page .biz-visibility-terms{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;font-weight:650}
.visibility-purchase-page .biz-visibility-terms input{width:auto;margin-top:3px}
.visibility-purchase-page .biz-visibility-purchase>.btn{width:100%;min-height:48px}
.visibility-purchase-page .biz-note{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.visibility-purchase-page .biz-empty{padding:18px;border:1px dashed color-mix(in oklab,var(--text) 15%,transparent);border-radius:16px;background:var(--surface);color:var(--muted)}
.visibility-purchase-page .visibility-empty-help{margin-top:14px}

/* Direct four-step Visibility checkout. Account access appears only after payment. */
.visibility-purchase-page .visibility-direct-checkout{
  display:grid;
  gap:16px;
  scroll-margin-top:92px;
}
.visibility-purchase-page .visibility-checkout-form{display:grid;gap:clamp(16px,2.2vw,24px)}
.visibility-purchase-page .visibility-checkout-step{
  display:grid;
  gap:16px;
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  background:var(--surface);
  box-shadow:var(--shadow-2);
}
.visibility-purchase-page .visibility-checkout-step>h2,
.visibility-purchase-page .visibility-checkout-step>p{margin:0}
.visibility-purchase-page .visibility-checkout-step>p{color:var(--muted);line-height:1.55}
.visibility-purchase-page .visibility-mode-fieldset,
.visibility-purchase-page .visibility-details-card{min-width:0;margin:0;padding:0;border:0}
.visibility-purchase-page .visibility-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.visibility-purchase-page .visibility-mode-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  min-height:112px;
  padding:17px;
  border:2px solid color-mix(in oklab,var(--text) 10%,transparent);
  border-radius:17px;
  background:var(--bg);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.visibility-purchase-page .visibility-mode-option:hover{border-color:color-mix(in oklab,var(--accent) 38%,transparent);transform:translateY(-1px)}
.visibility-purchase-page .visibility-mode-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 13%,transparent)}
.visibility-purchase-page .visibility-mode-option input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--accent)}
.visibility-purchase-page .visibility-mode-option span{display:grid;gap:5px}
.visibility-purchase-page .visibility-mode-option strong{font-size:17px;color:var(--text)}
.visibility-purchase-page .visibility-mode-option small{color:var(--muted);font-size:13px;line-height:1.45}
.visibility-purchase-page .visibility-business-panel{
  display:grid;
  gap:12px;
  padding:clamp(15px,2.2vw,21px);
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:18px;
  background:var(--bg);
}
.visibility-purchase-page .visibility-business-panel[hidden]{display:none!important}
.visibility-purchase-page .visibility-panel-heading{display:grid;gap:6px}
.visibility-purchase-page .visibility-panel-heading h3,
.visibility-purchase-page .visibility-panel-heading p{margin:0}
.visibility-purchase-page .visibility-panel-heading p{color:var(--muted);line-height:1.5}
.visibility-purchase-page .visibility-business-panel>label,
.visibility-purchase-page .visibility-form-grid label{display:block;margin-bottom:6px;color:var(--text);font-size:14px;font-weight:800}
.visibility-purchase-page .visibility-business-panel input,
.visibility-purchase-page .visibility-form-grid input,
.visibility-purchase-page .visibility-form-grid select,
.visibility-purchase-page .visibility-form-grid textarea{
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:1px solid color-mix(in oklab,var(--text) 14%,transparent);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
}
.visibility-purchase-page .visibility-form-grid textarea{min-height:112px;resize:vertical;line-height:1.5}
.visibility-purchase-page .visibility-business-panel input:focus,
.visibility-purchase-page .visibility-form-grid input:focus,
.visibility-purchase-page .visibility-form-grid select:focus,
.visibility-purchase-page .visibility-form-grid textarea:focus{outline:3px solid color-mix(in oklab,var(--accent) 19%,transparent);border-color:var(--accent)}
.visibility-purchase-page .visibility-business-results{display:grid;gap:8px;max-height:430px;overflow:auto;padding:2px}
.visibility-purchase-page .visibility-business-result{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:13px 14px;
  border:1px solid color-mix(in oklab,var(--text) 10%,transparent);
  border-radius:13px;
  background:var(--surface);
  cursor:pointer;
}
.visibility-purchase-page .visibility-business-result:hover{border-color:color-mix(in oklab,var(--accent) 35%,transparent)}
.visibility-purchase-page .visibility-business-result:has(input:checked){border-color:var(--accent);background:color-mix(in oklab,var(--accent) 7%,var(--surface));box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 10%,transparent)}
.visibility-purchase-page .visibility-business-result input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.visibility-purchase-page .visibility-business-result__copy{display:grid;gap:3px;min-width:0}
.visibility-purchase-page .visibility-business-result__copy strong{overflow-wrap:anywhere;color:var(--text)}
.visibility-purchase-page .visibility-business-result__copy span{overflow-wrap:anywhere;color:var(--muted);font-size:13px;line-height:1.4}
.visibility-purchase-page .visibility-business-result__badge{white-space:nowrap}
.visibility-purchase-page .visibility-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.visibility-purchase-page .visibility-field{min-width:0}
.visibility-purchase-page .visibility-field--wide{grid-column:1 / -1}
.visibility-purchase-page .visibility-form-grid small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4}
.visibility-purchase-page .visibility-details-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:14px;align-items:start}
.visibility-purchase-page .visibility-details-card{
  padding:clamp(15px,2vw,20px);
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:17px;
  background:var(--bg);
}
.visibility-purchase-page .visibility-details-card legend{padding:0 7px;color:var(--text);font-size:17px;font-weight:850}
.visibility-purchase-page .visibility-order-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}
.visibility-purchase-page .visibility-order-review>div{
  min-width:0;
  padding:13px 15px;
  border:1px solid color-mix(in oklab,var(--text) 9%,transparent);
  border-radius:13px;
  background:var(--bg);
}
.visibility-purchase-page .visibility-order-review dt{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.visibility-purchase-page .visibility-order-review dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:750;line-height:1.45}
.visibility-purchase-page .visibility-order-review__total{border-color:color-mix(in oklab,var(--accent) 35%,transparent)!important;background:color-mix(in oklab,var(--accent) 8%,var(--bg))!important}
.visibility-purchase-page .visibility-order-review__total dd{font-size:clamp(20px,2.3vw,27px)}
.visibility-purchase-page .visibility-consents{display:grid;gap:10px;padding-top:4px}
.visibility-purchase-page .visibility-consents label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;color:var(--text);font-size:14px;line-height:1.5}
.visibility-purchase-page .visibility-consents input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--accent)}
.visibility-purchase-page .visibility-pay-button{width:100%;min-height:54px;font-size:16px}
.visibility-purchase-page .visibility-pay-button[disabled]{cursor:not-allowed;opacity:.55}
.visibility-purchase-page .visibility-checkout-form[aria-busy="true"]{opacity:.78;pointer-events:none}
.visibility-purchase-page .visibility-checkout-success{
  display:grid;
  justify-items:start;
  gap:12px;
  border:1px solid color-mix(in oklab,var(--good) 38%,transparent);
  background:color-mix(in oklab,var(--good) 8%,var(--surface));
}
.visibility-purchase-page .visibility-checkout-success[hidden]{display:none!important}
.visibility-purchase-page .visibility-checkout-success h2,
.visibility-purchase-page .visibility-checkout-success p{margin:0}
.visibility-purchase-page .visibility-success-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--good);color:white;font-size:28px;font-weight:900}
.visibility-purchase-page.is-checkout-success .visibility-funnel-price,
.visibility-purchase-page.is-checkout-success .visibility-direct-checkout{display:none}

@media (max-width:680px){
  .visibility-funnel-header{padding:20px 17px;border-radius:18px}
  .visibility-funnel-header h1{font-size:clamp(29px,9vw,38px)}
  .visibility-funnel-topline{align-items:flex-start;flex-direction:column;margin-bottom:16px}
  .visibility-purchase-page .visibility-summary{grid-template-columns:1fr;gap:9px}
  .visibility-purchase-page .visibility-summary>div{min-height:66px;padding:13px 15px}
  .visibility-purchase-page .visibility-purchase-state{grid-template-columns:1fr}
  .visibility-purchase-page .visibility-purchase-state .btn{grid-row:auto;width:100%}
  .visibility-purchase-page .visibility-listing-head,
  .visibility-purchase-page .biz-listing__head{align-items:flex-start;flex-direction:column}
  .visibility-purchase-page .visibility-listing-head .btn,
  .visibility-purchase-page .biz-form-actions .btn{width:100%}
  .visibility-purchase-page .visibility-selected-term{align-items:flex-start;flex-direction:column;gap:4px}
  .visibility-purchase-page .visibility-mode-options,
  .visibility-purchase-page .visibility-details-grid,
  .visibility-purchase-page .visibility-form-grid,
  .visibility-purchase-page .visibility-order-review{grid-template-columns:1fr}
  .visibility-purchase-page .visibility-field--wide{grid-column:auto}
  .visibility-purchase-page .visibility-mode-option{min-height:0}
  .visibility-purchase-page .visibility-business-result{grid-template-columns:auto minmax(0,1fr)}
  .visibility-purchase-page .visibility-business-result__badge{grid-column:2}
}
