/* ═══════════════════════════════════════════════════════
   BhavPro Forms Engine — Enterprise Forms
   Premium A+ Grade Production CSS
   ═══════════════════════════════════════════════════════ */

/* ── Design Tokens ── */
.bfe-form-shell {
  --bfe-brand: #102950;
  --bfe-accent: #0F85B5;
  --bfe-header: #102950;
  --bfe-surface: #ffffff;
  --bfe-border: #e2e8f0;
  --bfe-text: #0f172a;
  --bfe-muted: #64748b;
  --bfe-bg: #f8fafc;
  --bfe-cta: var(--bfe-accent);
  --bfe-shadow: 0 8px 32px rgba(9, 18, 38, 0.08);
  --bfe-radius: 20px;
  --bfe-radius-sm: 12px;
  --bfe-transition: 0.22s cubic-bezier(.4,0,.2,1);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--bfe-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bfe-form-shell *,
.bfe-form-shell *::before,
.bfe-form-shell *::after {
  box-sizing: border-box;
  margin: 0;
}

/* ── Dark theme ── */
.bfe-theme-dark {
  --bfe-surface: #1e293b;
  --bfe-text: #f1f5f9;
  --bfe-muted: #94a3b8;
  --bfe-border: #334155;
  --bfe-bg: #0f172a;
}

/* ═══════════════════════════════════
   CARD SHELL
   ═══════════════════════════════════ */
.bfe-form-card {
  border-radius: var(--bfe-radius);
  overflow: hidden;
  background: var(--bfe-surface);
  border: 1px solid var(--bfe-border);
  box-shadow: var(--bfe-shadow);
  max-width: 520px;
  margin: 0 auto;
}

.bfe-align-center .bfe-form-card {
  margin-inline: auto;
}

/* ── Compact mode ── */
.bfe-compact .bfe-form-card {
  max-width: 420px;
}

.bfe-compact .bfe-step {
  padding: 14px 16px;
}

.bfe-compact .bfe-step-head h3,
.bfe-compact .bfe-step-head .bfe-ui-title {
  font-size: 16px;
}

.bfe-compact .bfe-step-head p {
  font-size: 13px;
  margin-bottom: 12px;
}

.bfe-compact .bfe-label {
  font-size: 13px;
  margin-bottom: 5px;
}

.bfe-compact .bfe-input,
.bfe-compact .bfe-select,
.bfe-compact .bfe-textarea {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  border-radius: 8px;
}

.bfe-compact .bfe-textarea {
  min-height: 70px;
}

.bfe-compact .bfe-field {
  margin-bottom: 10px;
}

.bfe-compact .bfe-service-tile-ui,
.bfe-compact .bfe-chip-card span {
  min-height: 44px;
  padding: 8px 12px;
  font-size: 13px;
  border-radius: 10px;
}

.bfe-compact .bfe-service-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 6px;
}

.bfe-compact .bfe-btn {
  min-height: 42px;
  font-size: 15px;
  border-radius: 10px;
}

.bfe-compact .bfe-consent-box {
  padding: 10px;
  font-size: 12px;
}

.bfe-compact .bfe-check-row {
  font-size: 12px;
}

.bfe-compact .bfe-header-band {
  padding: 12px 16px 14px;
}

.bfe-compact .bfe-header-title {
  font-size: 14px;
  margin-bottom: 8px;
}

.bfe-compact .bfe-card-topbar {
  padding: 10px 16px 8px;
}

.bfe-compact .bfe-service-grid {
  gap: 8px;
  margin-bottom: 12px;
}

/* ═══════════════════════════════════
   TOPBAR
   ═══════════════════════════════════ */
.bfe-card-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 18px 10px;
  background: var(--bfe-surface);
  border-bottom: 1px solid var(--bfe-border);
}

.bfe-browser-dots {
  display: flex;
  gap: 7px;
  min-width: 60px;
}

.bfe-browser-dots span {
  width: 22px;
  height: 5px;
  border-radius: 999px;
  background: var(--bfe-border);
}

.bfe-browser-dots span:first-child {
  background: var(--bfe-accent);
}

.bfe-form-meta,
.bfe-form-tag {
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.bfe-form-meta {
  color: var(--bfe-muted);
}

.bfe-form-tag {
  color: var(--bfe-brand);
  font-weight: 700;
  background: rgba(20, 184, 166, 0.08);
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ═══════════════════════════════════
   HEADER BAND + PROGRESS
   ═══════════════════════════════════ */
.bfe-header-band {
  position: relative;
  padding: 16px 18px 18px;
  background: linear-gradient(135deg, var(--bfe-header) 0%, #0f294f 100%);
  color: #fff;
}

.bfe-header-title {
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}

.bfe-progress-track {
  position: relative;
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, 1fr);
}

.bfe-header-band[data-steps="1"] .bfe-progress-track { grid-template-columns: 1fr; }
.bfe-header-band[data-steps="2"] .bfe-progress-track { grid-template-columns: repeat(2, 1fr); }

.bfe-progress-segment {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  position: relative;
  z-index: 2;
  transition: background var(--bfe-transition);
}

.bfe-progress-segment.is-active {
  background: rgba(255, 255, 255, 0.4);
}

.bfe-progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 4px;
  width: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #18d4c6, var(--bfe-accent));
  z-index: 3;
  transition: width 0.35s cubic-bezier(.4,0,.2,1);
}

/* ═══════════════════════════════════
   STEPS
   ═══════════════════════════════════ */
.bfe-step {
  padding: 18px;
  animation: bfe-fadeIn 0.25s ease;
}

@keyframes bfe-fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.bfe-step-head h3,
.bfe-step-head .bfe-ui-title {
  margin: 0 0 4px;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--bfe-text);
  letter-spacing: -0.01em;
}

.bfe-step-head p {
  margin: 0 0 16px;
  color: var(--bfe-muted);
  font-size: 14px;
}

.bfe-step-success .bfe-ui-title {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--bfe-text);
  letter-spacing: -0.01em;
}

.bfe-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--bfe-brand);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


.bfe-hide-icons .bfe-service-icon {
  display: none;
}

/* ═══════════════════════════════════
   SERVICE GRID — Compact 2-col
   ═══════════════════════════════════ */
.bfe-service-grid,
.bfe-chip-grid,
.bfe-custom-grid {
  display: grid;
  gap: 8px;
}

.bfe-service-grid {
  grid-template-columns: repeat(var(--bfe-grid-cols, 2), minmax(0, 1fr));
  margin-bottom: 16px;
}

.bfe-service-grid-compact {
  grid-template-columns: repeat(var(--bfe-grid-cols, 2), minmax(0, 1fr));
}

.bfe-service-grid-list {
  grid-template-columns: 1fr;
}

.bfe-chip-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bfe-custom-grid {
  grid-template-columns: repeat(var(--bfe-grid-cols, 2), minmax(0, 1fr));
}

/* ── Service tiles ── */
.bfe-service-tile,
.bfe-chip-card {
  display: block;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.bfe-service-tile input,
.bfe-chip-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bfe-service-tile-ui,
.bfe-chip-card span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--bfe-border);
  border-radius: var(--bfe-radius-sm);
  background: var(--bfe-surface);
  color: var(--bfe-text);
  font-size: 13px;
  font-weight: 600;
  position: relative;
  transition: border-color var(--bfe-transition), background var(--bfe-transition), box-shadow var(--bfe-transition), transform var(--bfe-transition);
}

.bfe-chip-card span {
  justify-content: center;
}

.bfe-service-tile:hover .bfe-service-tile-ui,
.bfe-chip-card:hover span {
  border-color: var(--bfe-tile-accent, var(--bfe-accent));
  background: rgba(20, 184, 166, 0.04);
  background: color-mix(in srgb, var(--bfe-tile-accent, var(--bfe-accent)) 7%, white);
}

.bfe-service-tile.is-selected .bfe-service-tile-ui,
.bfe-chip-card.is-selected span,
.bfe-service-tile input:checked + .bfe-service-tile-ui,
.bfe-chip-card input:checked + span {
  border-color: var(--bfe-tile-accent, var(--bfe-accent));
  background: rgba(20, 184, 166, 0.07);
  background: color-mix(in srgb, var(--bfe-tile-accent, var(--bfe-accent)) 10%, white);
  box-shadow: 0 4px 16px rgba(20, 184, 166, 0.12);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--bfe-tile-accent, var(--bfe-accent)) 22%, transparent);
}

/* Checkmark indicator */
.bfe-tile-check {
  margin-left: auto;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1.5px solid var(--bfe-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  background: var(--bfe-surface);
  transition: all var(--bfe-transition);
}

.bfe-service-tile input:checked + .bfe-service-tile-ui .bfe-tile-check,
.bfe-service-tile.is-selected .bfe-tile-check {
  background: var(--bfe-tile-accent, var(--bfe-accent));
  border-color: var(--bfe-tile-accent, var(--bfe-accent));
  color: #fff;
}

.bfe-service-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: linear-gradient(180deg, #f4f7fb 0%, #eaf0f7 100%);
  border: 1px solid var(--bfe-border);
  flex: 0 0 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bfe-tile-brand, var(--bfe-brand));
}

.bfe-theme-dark .bfe-service-icon {
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
  border-color: #475569;
}

.bfe-service-name {
  line-height: 1.25;
  flex: 1 1 0;
  min-width: 0;
}

/* ═══════════════════════════════════
   FORM FIELDS
   ═══════════════════════════════════ */
.bfe-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bfe-field {
  margin-bottom: 12px;
}

.bfe-field.bfe-half { grid-column: span 1; }
.bfe-field.bfe-full { grid-column: 1 / -1; }

/* Category Contact Step Two-Column Layout Lock v6.2.12
   Keeps admin-controlled category contact fields compact: standard fields use two columns,
   while notes/requirements/full-width fields span the full contact step. */
.bfe-category-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  align-items: start;
}

.bfe-category-contact-grid > .bfe-field {
  margin-bottom: 0;
}

.bfe-category-contact-grid > :is(.bfe-field.bfe-full, .bfe-field-full, .bfe-field-wide, [data-bfe-contact-width="full"]) {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  .bfe-category-contact-grid {
    grid-template-columns: 1fr;
  }
}


.bfe-inline-options { display:flex; flex-wrap:wrap; gap:10px 14px; }

.bfe-label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--bfe-text);
}

.bfe-req {
  color: #ef4444;
  font-weight: 400;
}

.bfe-input,
.bfe-select,
.bfe-textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--bfe-border);
  border-radius: var(--bfe-radius-sm);
  background: var(--bfe-surface);
  font-size: 14px;
  line-height: 1.4;
  color: var(--bfe-text);
  font-family: inherit;
  transition: border-color var(--bfe-transition), box-shadow var(--bfe-transition);
}

.bfe-textarea {
  min-height: 80px;
  resize: vertical;
}

.bfe-input:focus,
.bfe-select:focus,
.bfe-textarea:focus {
  outline: none;
  border-color: var(--bfe-accent);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
}

.bfe-input::placeholder,
.bfe-textarea::placeholder {
  color: var(--bfe-muted);
  opacity: 0.7;
}

.bfe-help-text,
.bfe-mini-note {
  margin: 6px 0 0;
  color: var(--bfe-muted);
  font-size: 12px;
}

.bfe-mini-note {
  margin-top: 12px;
  text-align: center;
  opacity: 0.8;
}

/* ═══════════════════════════════════
   CONSENT
   ═══════════════════════════════════ */
.bfe-consent-box {
  display: grid;
  gap: 8px;
  margin: 14px 0 12px;
  padding: 12px;
  border: 1px solid var(--bfe-border);
  border-radius: var(--bfe-radius-sm);
  background: var(--bfe-bg);
}

.bfe-check-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--bfe-muted);
  font-size: 12px;
  line-height: 1.45;
}

.bfe-check-row input[type="checkbox"] {
  margin-top: 2px;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  accent-color: var(--bfe-accent);
}

.bfe-check-row a {
  color: var(--bfe-brand);
  text-decoration: none;
  font-weight: 600;
}

.bfe-check-row a:hover {
  text-decoration: underline;
}

/* ═══════════════════════════════════
   BUTTONS — Fixed visibility
   ═══════════════════════════════════ */
.bfe-step-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 16px;
}

.bfe-btn {
  appearance: none;
  border: none;
  border-radius: var(--bfe-radius-sm);
  min-height: 46px;
  padding: 0 20px;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  text-decoration: none;
  transition: transform var(--bfe-transition), box-shadow var(--bfe-transition), background var(--bfe-transition), opacity var(--bfe-transition);
}

.bfe-btn:hover {
  transform: translateY(-1px);
}

.bfe-btn:active {
  transform: translateY(0);
}

/* Primary CTA */
.bfe-btn-primary {
  flex: 1 1 auto;
  background: var(--bfe-cta, var(--bfe-accent));
  color: #fff;
  box-shadow: 0 8px 24px rgba(20, 184, 166, 0.28);
}

.bfe-btn-primary:hover {
  background: var(--bfe-brand);
  box-shadow: 0 12px 32px rgba(15, 118, 110, 0.32);
}

/* Back button — FIXED: visible, clear, accessible */
.bfe-btn-back {
  flex: 0 0 auto;
  min-width: 90px;
  background: var(--bfe-surface);
  color: var(--bfe-muted);
  border: 1.5px solid var(--bfe-border);
  font-weight: 600;
  font-size: 14px;
}

.bfe-btn-back:hover {
  background: var(--bfe-bg);
  border-color: var(--bfe-accent);
  color: var(--bfe-text);
}

.bfe-btn:disabled {
  opacity: 0.6;
  cursor: wait;
  transform: none !important;
}

/* Spinner */
.bfe-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: bfe-spin 0.7s linear infinite;
}

@keyframes bfe-spin {
  to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════
   REVIEW BOX
   ═══════════════════════════════════ */
.bfe-review-box {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--bfe-border);
  border-radius: var(--bfe-radius-sm);
  background: var(--bfe-bg);
}

.bfe-review-box:empty {
  display: none;
}

.bfe-review-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 8px;
  font-size: 13px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(214, 221, 232, 0.5);
}

.bfe-review-row:last-child {
  border-bottom: 0;
}

.bfe-review-row strong {
  color: var(--bfe-text);
  font-weight: 700;
}

.bfe-review-row span {
  color: var(--bfe-muted);
}

/* ═══════════════════════════════════
   CAPTCHA
   ═══════════════════════════════════ */
.bfe-captcha-row {
  margin-top: 10px;
}

.bfe-turnstile-row {
  margin-top: 10px;
}

/* ═══════════════════════════════════
   SUCCESS PANEL
   ═══════════════════════════════════ */
.bfe-step-success {
  text-align: center;
  padding: 30px 20px;
}

.bfe-success-mark {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(20, 184, 166, 0.1);
  color: var(--bfe-brand);
  margin-bottom: 14px;
}

.bfe-step-success h3 {
  margin: 0 0 6px;
  font-size: 20px;
}

.bfe-step-success p {
  margin: 0 auto 8px;
  max-width: 380px;
  color: var(--bfe-muted);
  font-size: 14px;
}

.bfe-success-ref {
  color: var(--bfe-text) !important;
  font-size: 13px !important;
}

.bfe-success-response {
  color: var(--bfe-text) !important;
  font-size: 13px !important;
}

.bfe-success-actions {
  margin: 14px 0 8px;
}

.bfe-btn-secondary {
  background: transparent;
  color: var(--bfe-brand);
  border: 1px solid rgba(15, 118, 110, 0.28);
  box-shadow: none;
}

.bfe-btn-secondary:hover {
  transform: translateY(-1px);
  background: rgba(15, 118, 110, 0.06);
}

.bfe-ref-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

/* ═══════════════════════════════════
   ERRORS
   ═══════════════════════════════════ */
.bfe-form-error {
  margin-bottom: 12px;
  padding: 10px 14px;
  border-radius: var(--bfe-radius-sm);
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: 13px;
  font-weight: 500;
}


.bfe-form-error-summary {
  margin-bottom: 12px;
  outline: 0;
}

.bfe-form-error-summary .bfe-form-error {
  margin-bottom: 0;
}

.bfe-error-summary-title,
.bfe-error-summary-intro {
  margin: 0 0 8px;
}

.bfe-error-summary-list {
  margin: 0;
  padding-left: 18px;
}

.bfe-error-summary-list li + li {
  margin-top: 6px;
}

.bfe-error-summary-list a {
  color: inherit;
  text-decoration: underline;
  font-weight: 600;
}

.bfe-error-summary-list a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.bfe-field-error .bfe-input,
.bfe-field-error .bfe-select,
.bfe-field-error .bfe-textarea {
  border-color: #ef4444;
}

.bfe-field-error .bfe-service-grid,
.bfe-field-error .bfe-chip-grid,
.bfe-field-error .bfe-consent-box {
  border-color: #ef4444;
}

.bfe-error-msg {
  margin-top: 5px;
  font-size: 12px;
  color: #dc2626;
  font-weight: 500;
}

.bfe-inline-error {
  padding: 14px;
  border-radius: var(--bfe-radius);
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  font-size: 14px;
}

/* ═══════════════════════════════════
   POPUP — Fixed close button
   ═══════════════════════════════════ */
.bfe-popup-trigger-wrap {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.bfe-popup-trigger {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: var(--bfe-radius-sm, 12px);
  min-height: 46px;
  padding: 0 20px;
  background: var(--bfe-cta, var(--bfe-accent, var(--bfe-brand, #1e73be)));
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(20, 184, 166, 0.28);
  transition: transform var(--bfe-transition), box-shadow var(--bfe-transition), background var(--bfe-transition), opacity var(--bfe-transition);
}

.bfe-popup-trigger:hover,
.bfe-popup-trigger:focus-visible {
  transform: translateY(-1px);
  background: var(--bfe-brand, var(--bfe-cta, var(--bfe-accent, #155dfc)));
  box-shadow: 0 12px 32px rgba(15, 118, 110, 0.32);
}

.bfe-popup-trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--bfe-cta, var(--bfe-accent, #14b8a6)) 55%, white);
  outline-offset: 2px;
}

.bfe-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 16, 32, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 2147483647;
  animation: bfe-overlayIn 0.2s ease;
}

@keyframes bfe-overlayIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.bfe-popup-overlay[hidden] {
  display: none;
}

.bfe-popup-modal {
  position: relative;
  width: 100%;
  max-width: 540px;
  max-height: min(90vh, 850px);
  overflow: auto;
  border-radius: var(--bfe-radius);
  animation: bfe-modalIn 0.28s ease;
}

@keyframes bfe-modalIn {
  from { opacity: 0; transform: scale(0.97) translateY(6px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Close button — FIXED: always visible on dark header */
.bfe-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  transition: background var(--bfe-transition);
}

.bfe-popup-close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.bfe-popup-close:focus-visible {
  outline: 2px solid var(--bfe-accent);
  outline-offset: 2px;
}

/* ═══════════════════════════════════
   INLINE FORM TYPE
   ═══════════════════════════════════ */
.bfe-form-inline .bfe-step {
  padding: 14px;
}

.bfe-inline-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  flex-wrap: wrap;
}

.bfe-inline-row .bfe-input,
.bfe-inline-row .bfe-select {
  flex: 1 1 160px;
  min-width: 120px;
}

.bfe-inline-row .bfe-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.bfe-inline-legal {
  margin-top: 8px;
  font-size: 11px;
  color: var(--bfe-muted);
  text-align: center;
}

.bfe-inline-legal a {
  color: var(--bfe-brand);
  text-decoration: none;
}

/* ═══════════════════════════════════
   HONEYPOT
   ═══════════════════════════════════ */
.bfe-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

body.bfe-modal-open {
  overflow: hidden;
}

body.bfe-modal-open .bfe-callback-widget > .bfe-callback-trigger-btn,
body.bfe-modal-open .bfe-fa > .bfe-fa-inner > .bfe-fa-launcher,
body.bfe-modal-open .bfe-fa > .bfe-fa-menu {
  pointer-events: none;
}

/* ═══════════════════════════════════
   FOCUS VISIBLE (Accessibility)
   ═══════════════════════════════════ */
.bfe-form-shell :focus-visible {
  outline: 2px solid var(--bfe-accent);
  outline-offset: 2px;
}

.bfe-form-shell input:not(:focus-visible),
.bfe-form-shell select:not(:focus-visible),
.bfe-form-shell textarea:not(:focus-visible),
.bfe-form-shell button:not(:focus-visible) {
  outline: none;
}


/* ═══════════════════════════════════
   DESKTOP — NEEDS FINDER COMPACT TUNING
   Keeps homepage widget tighter on desktop while
   preserving the current small-screen/mobile layout.
   ═══════════════════════════════════ */
@media (min-width: 681px) {
  .bfe-type-needs-finder .bfe-form-card {
    max-width: 560px;
  }

  .bfe-type-needs-finder .bfe-service-grid,
  .bfe-type-needs-finder .bfe-service-grid.bfe-service-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bfe-type-needs-finder .bfe-card-topbar {
    padding: 10px 16px 8px;
  }

  .bfe-type-needs-finder .bfe-browser-dots span {
    width: 20px;
  }

  .bfe-type-needs-finder .bfe-form-meta,
  .bfe-type-needs-finder .bfe-form-tag {
    font-size: 11px;
  }

  .bfe-type-needs-finder .bfe-header-band {
    padding: 12px 16px 14px;
  }

  .bfe-type-needs-finder .bfe-header-title {
    font-size: 14px;
    margin-bottom: 8px;
  }

  .bfe-type-needs-finder .bfe-progress-track {
    gap: 5px;
  }

  .bfe-type-needs-finder .bfe-step {
    padding: 15px 16px;
  }

  .bfe-type-needs-finder .bfe-step-head h3,
.bfe-step-head .bfe-ui-title {
    font-size: 16px;
    margin-bottom: 4px;
  }

  .bfe-type-needs-finder .bfe-step-head p {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .bfe-type-needs-finder .bfe-field {
    margin-bottom: 10px;
  }

  .bfe-type-needs-finder .bfe-label {
    margin-bottom: 5px;
    font-size: 12.5px;
  }

  .bfe-type-needs-finder .bfe-input,
  .bfe-type-needs-finder .bfe-select,
  .bfe-type-needs-finder .bfe-textarea {
    min-height: 42px;
    padding: 9px 12px;
    font-size: 14px;
  }

  .bfe-type-needs-finder .bfe-textarea {
    min-height: 76px;
  }

  .bfe-type-needs-finder .bfe-service-grid {
    gap: 8px;
    margin-bottom: 12px;
  }

  .bfe-type-needs-finder .bfe-service-tile-ui {
    min-height: 46px;
    padding: 8px 12px;
    gap: 9px;
  }

  .bfe-type-needs-finder .bfe-service-name {
    font-size: 12.75px;
    line-height: 1.2;
  }

  .bfe-type-needs-finder .bfe-service-icon {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
    border-radius: 7px;
  }

  .bfe-type-needs-finder .bfe-tile-check {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }

  .bfe-type-needs-finder .bfe-chip-grid,
  .bfe-type-needs-finder .bfe-chip-grid-2 {
    gap: 8px;
  }

  .bfe-type-needs-finder .bfe-chip-card span {
    min-height: 44px;
    padding: 9px 10px;
    font-size: 13px;
  }

  .bfe-type-needs-finder .bfe-consent-box {
    margin: 12px 0 10px;
    padding: 10px;
    gap: 6px;
  }

  .bfe-type-needs-finder .bfe-check-row {
    font-size: 11.5px;
  }

  .bfe-type-needs-finder .bfe-step-actions {
    margin-top: 12px;
  }

  .bfe-type-needs-finder .bfe-btn {
    min-height: 44px;
  }

  .bfe-type-needs-finder .bfe-mini-note {
    margin-top: 10px;
    font-size: 11.5px;
  }
}

/* ═══════════════════════════════════
   RESPONSIVE — Tablet
   ═══════════════════════════════════ */
@media (max-width: 680px) {
  .bfe-form-card {
    border-radius: 14px;
    max-width: 100%;
  }

  .bfe-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .bfe-chip-grid-2,
  .bfe-custom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .bfe-two-col {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .bfe-step {
    padding: 14px;
  }

  .bfe-header-band {
    padding: 12px 14px 14px;
  }

  .bfe-card-topbar {
    padding: 10px 14px 8px;
  }

  .bfe-review-row {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 6px;
  }

  .bfe-inline-row {
    flex-direction: column;
  }

  .bfe-inline-row .bfe-input,
  .bfe-inline-row .bfe-select {
    flex: 1 1 auto;
    min-width: 100%;
  }
}

/* ═══════════════════════════════════
   RESPONSIVE — Small mobile
   ═══════════════════════════════════ */
@media (max-width: 420px) {
  .bfe-service-grid {
    grid-template-columns: 1fr;
  }

  .bfe-service-tile-ui,
  .bfe-chip-card span {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 13px;
  }

  .bfe-step-actions {
    flex-direction: column-reverse;
  }

  .bfe-btn-back,
  .bfe-btn-primary,
  .bfe-btn-submit {
    width: 100%;
    flex: 1 1 auto;
  }

  .bfe-step-head h3,
.bfe-step-head .bfe-ui-title {
    font-size: 16px;
  }

  .bfe-step-head p {
    font-size: 13px;
  }

  .bfe-header-title {
    font-size: 14px;
  }

  .bfe-popup-modal {
    max-width: 100%;
    max-height: 95vh;
    border-radius: 14px;
  }

  .bfe-popup-overlay {
    padding: 8px;
    align-items: flex-end;
  }
}

/* ═══════════════════════════════════
   RESPONSIVE — Tiny screens
   ═══════════════════════════════════ */
@media (max-width: 360px) {
  .bfe-form-meta {
    display: none;
  }

  .bfe-chip-grid-2 {
    grid-template-columns: 1fr;
  }

  .bfe-consent-box {
    padding: 8px;
    gap: 6px;
  }

  .bfe-check-row {
    font-size: 11px;
  }

  .bfe-btn {
    min-height: 42px;
    font-size: 14px;
  }
}

/* ═══════════════════════════════════
   SPECIFIC STEPS — Scanning Screen
   ═══════════════════════════════════ */
.bfe-step-scan {
  padding: 40px 20px;
  text-align: center;
}

.bfe-scan-screen,
.bfe-match-screen {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.bfe-scan-spinner {
  animation: bfe-pulse 1.5s ease-in-out infinite;
}

@keyframes bfe-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.05); }
}

.bfe-scan-progress {
  width: 200px;
  height: 6px;
  border-radius: 999px;
  background: var(--bfe-border);
  overflow: hidden;
  margin-top: 8px;
}

.bfe-scan-bar {
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--bfe-accent), #18d4c6);
  transition: width 3s ease;
}

.bfe-scan-bar.is-active {
  width: 85%;
}

.bfe-scan-message {
  color: var(--bfe-muted);
  font-size: 14px;
  font-weight: 500;
}

.bfe-match-screen {
  padding: 20px 0;
}

.bfe-match-icon {
  margin-bottom: 4px;
}

.bfe-match-screen h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--bfe-text);
  margin: 0;
}

.bfe-match-screen p {
  color: var(--bfe-muted);
  font-size: 14px;
  margin: 0;
}

/* Emoji icons in tiles */
.bfe-emoji-icon {
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none !important;
  border: none !important;
}

.bfe-chip-emoji {
  font-size: 16px;
  margin-right: 4px;
}

/* Radio tiles in specific-steps (single-select look) */
.bfe-specific-steps .bfe-service-tile input[type="radio"]:checked + .bfe-service-tile-ui,
.bfe-specific-steps .bfe-chip-card input[type="radio"]:checked + span {
  border-color: var(--bfe-accent);
  background: rgba(20, 184, 166, 0.07);
  box-shadow: 0 4px 16px rgba(20, 184, 166, 0.12);
}

.bfe-specific-steps .bfe-service-tile input[type="radio"]:checked + .bfe-service-tile-ui .bfe-tile-check {
  background: var(--bfe-accent);
  border-color: var(--bfe-accent);
  color: #fff;
}

/* Trust badge */
.bfe-trust-badge {
  margin-top: 14px;
  padding: 10px 16px;
  border-radius: 10px;
  background: rgba(20, 184, 166, 0.08);
  color: var(--bfe-brand);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.01em;
}

/* ═══════════════════════════════════
   SUBSCRIBE FORM (Type 8)
   ═══════════════════════════════════ */
.bfe-subscribe-form {
  box-shadow: none;
  border: 1px solid var(--bfe-border);
}

.bfe-subscribe-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  flex-wrap: wrap;
}

.bfe-subscribe-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(20, 184, 166, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bfe-tile-brand, var(--bfe-brand));
}

.bfe-subscribe-text {
  flex: 1 1 200px;
  min-width: 0;
}

.bfe-subscribe-text strong {
  display: block;
  font-size: 14px;
  color: var(--bfe-text);
  margin-bottom: 2px;
}

.bfe-subscribe-text span {
  font-size: 12px;
  color: var(--bfe-muted);
}

.bfe-subscribe-input {
  flex: 0 0 auto;
  display: flex;
  gap: 6px;
}

.bfe-subscribe-input .bfe-input {
  width: 200px;
  min-height: 40px;
  font-size: 13px;
}

.bfe-subscribe-input .bfe-btn {
  min-height: 40px;
  min-width: 40px;
  padding: 0 12px;
}

.bfe-subscribe-success {
  padding: 16px !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  text-align: left;
}

.bfe-subscribe-success strong {
  color: var(--bfe-text);
  font-size: 14px;
}

.bfe-subscribe-success span {
  color: var(--bfe-muted);
  font-size: 12px;
}

@media (max-width: 680px) {
  .bfe-subscribe-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .bfe-subscribe-icon {
    margin: 0 auto;
  }
  .bfe-subscribe-input {
    width: 100%;
  }
  .bfe-subscribe-input .bfe-input {
    flex: 1;
    width: auto;
  }
}

/* ═══════════════════════════════════
   EXIT-INTENT POPUP (Type 9)
   ═══════════════════════════════════ */
.bfe-exit-intent-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 16, 32, 0.6);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 2147483647;
  animation: bfe-overlayIn 0.25s ease;
}

.bfe-exit-intent-overlay[hidden] {
  display: none;
}

.bfe-exit-intent-modal {
  position: relative;
  width: 100%;
  max-width: 460px;
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  animation: bfe-modalIn 0.3s ease;
}

.bfe-exit-subscribe-section {
  padding: 0;
}

.bfe-exit-subscribe-section .bfe-form-shell {
  box-shadow: none;
  border: none;
}

.bfe-exit-subscribe-section .bfe-subscribe-form {
  border: none;
  border-radius: 0;
}

.bfe-exit-divider {
  text-align: center;
  padding: 8px 0;
  color: var(--bfe-muted);
  font-size: 12px;
  font-weight: 700;
  position: relative;
}

.bfe-exit-divider::before,
.bfe-exit-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 38%;
  height: 1px;
  background: #e2e8f0;
}

.bfe-exit-divider::before { left: 16px; }
.bfe-exit-divider::after  { right: 16px; }

.bfe-exit-match-section {
  padding: 16px 24px 20px;
  text-align: center;
}

.bfe-exit-pound {
  margin-bottom: 8px;
}

.bfe-exit-match-section h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 4px;
  color: #0f172a;
}

.bfe-exit-match-section p {
  color: #64748b;
  font-size: 13px;
  margin: 0 0 12px;
}

.bfe-exit-trust-box {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 12px;
  color: #15803d;
  font-weight: 500;
  margin-bottom: 14px;
}

.bfe-exit-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  text-align: left;
}

.bfe-exit-benefits li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  font-size: 13px;
  color: #334155;
}

.bfe-exit-cta {
  margin-bottom: 10px;
}

.bfe-exit-dismiss {
  appearance: none;
  border: none;
  background: none;
  color: #94a3b8;
  font-size: 12px;
  cursor: pointer;
  text-decoration: underline;
  font-family: inherit;
  display: block;
  margin: 0 auto 8px;
}

.bfe-exit-dismiss:hover {
  color: #64748b;
}

.bfe-exit-footer {
  font-size: 11px;
  color: #94a3b8;
}

.bfe-exit-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0,0,0,0.05);
  color: #64748b;
  z-index: 10;
}

.bfe-exit-close:hover {
  background: rgba(0,0,0,0.1);
  color: #0f172a;
}

@media (max-width: 480px) {
  .bfe-exit-intent-modal {
    max-width: 100%;
    border-radius: 14px;
  }
  .bfe-exit-match-section {
    padding: 12px 16px 16px;
  }
}

/* ═══════════════════════════════════
   PRINT
   ═══════════════════════════════════ */
@media print {
  .bfe-form-shell {
    display: none !important;
  }
}


/* ═══════════════════════════════════
   CALLBACK WIDGET / DRAWER
   ═══════════════════════════════════ */
.bfe-callback-widget {
  --bfe-callback-offset: 18px;
}

.bfe-callback-trigger-btn {
  border: 0;
  cursor: pointer;
  background: linear-gradient(135deg, var(--bfe-brand, #0f766e), var(--bfe-header, #172554));
  color: #fff;
  box-shadow: 0 18px 40px rgba(9, 18, 38, 0.18);
  transition: transform var(--bfe-transition), box-shadow var(--bfe-transition), opacity var(--bfe-transition);
}

.bfe-callback-trigger-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(9, 18, 38, 0.22);
}

.bfe-callback-trigger-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bfe-callback-trigger-floating-tab .bfe-callback-trigger-btn {
  position: fixed;
  z-index: 100000;
  min-width: 54px;
  min-height: 160px;
  padding: 18px 12px;
  border-radius: 18px 18px 0 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-middle-right .bfe-callback-trigger-btn {
  right: var(--bfe-callback-offset);
  top: 50%;
  transform: translateY(-50%);
  border-radius: 16px 16px 0 0;
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-middle-left .bfe-callback-trigger-btn {
  left: var(--bfe-callback-offset);
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  border-radius: 16px 16px 0 0;
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-right .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-left .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-center .bfe-callback-trigger-btn {
  top: auto;
  bottom: 20px;
  min-height: 52px;
  min-width: auto;
  padding: 0 18px;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  border-radius: 999px;
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-right .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-right .bfe-callback-trigger-btn {
  right: var(--bfe-callback-offset);
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-left .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-left .bfe-callback-trigger-btn {
  left: var(--bfe-callback-offset);
}

.bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-center .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-center .bfe-callback-trigger-btn {
  left: 50%;
  transform: translateX(-50%);
}

.bfe-callback-trigger-floating-button .bfe-callback-trigger-btn {
  position: fixed;
  z-index: 100000;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}

.bfe-callback-trigger-floating-button.bfe-callback-position-middle-right .bfe-callback-trigger-btn {
  right: var(--bfe-callback-offset);
  top: 50%;
  transform: translateY(-50%);
}

.bfe-callback-trigger-floating-button.bfe-callback-position-middle-left .bfe-callback-trigger-btn {
  left: var(--bfe-callback-offset);
  top: 50%;
  transform: translateY(-50%);
}

.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-right .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-left .bfe-callback-trigger-btn,
.bfe-callback-trigger-floating-button.bfe-callback-position-bottom-center .bfe-callback-trigger-btn {
  bottom: 20px;
  top: auto;
}

.bfe-callback-trigger-button .bfe-callback-trigger-btn {
  position: relative;
  min-height: 52px;
  padding: 0 20px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}

.bfe-callback-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 2147483647;
  overflow: hidden;
  --bfe-overlay-top-offset: 0px;
  --bfe-overlay-bottom-offset: 0px;
  --bfe-callback-safe-top: max(16px, calc(env(safe-area-inset-top, 0px) + 16px));
  --bfe-callback-safe-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 16px));
  --bfe-callback-close-bg: rgba(15, 23, 42, 0.72);
  --bfe-callback-close-bg-hover: rgba(15, 23, 42, 0.88);
  --bfe-callback-close-color: #ffffff;
}

.bfe-callback-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(2px);
}

.bfe-callback-dialog {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  padding: var(--bfe-callback-safe-top) 16px var(--bfe-callback-safe-bottom);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
}

.bfe-callback-dialog-drawer.bfe-callback-dialog-right { justify-content: flex-end; }
.bfe-callback-dialog-drawer.bfe-callback-dialog-left { justify-content: flex-start; }
.bfe-callback-dialog-modal {
  justify-content: center;
}

.bfe-callback-dialog > .bfe-callback-shell,
.bfe-callback-dialog > .bfe-fa-panel,
.bfe-callback-dialog > .bfe-lead-banner-panel,
.bfe-callback-dialog > .bfe-callback-close {
  pointer-events: auto;
}

.bfe-callback-dialog .bfe-callback-shell,
.bfe-callback-dialog .bfe-fa-panel {
  width: min(100%, 520px);
  max-width: 520px;
  margin: auto 0;
}

.bfe-callback-shell .bfe-form-card,
.bfe-fa-panel .bfe-form-card {
  width: 100%;
  max-width: none;
  max-height: min(860px, calc(100dvh - var(--bfe-callback-safe-top) - var(--bfe-callback-safe-bottom)));
  overflow: auto;
}

button.bfe-callback-close {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute;
  top: 18px;
  right: max(18px, calc(env(safe-area-inset-right, 0px) + 18px));
  z-index: 5;
  width: 40px;
  height: 40px;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--bfe-callback-close-bg) !important;
  background-image: none !important;
  color: var(--bfe-callback-close-color) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22) !important;
  text-shadow: none !important;
  font: inherit !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  touch-action: manipulation;
  user-select: none;
  transform: none !important;
}

button.bfe-callback-close:hover,
button.bfe-callback-close:active,
button.bfe-callback-close:focus-visible {
  background: var(--bfe-callback-close-bg-hover) !important;
  color: var(--bfe-callback-close-color) !important;
}

button.bfe-callback-close:focus-visible {
  outline: 2px solid rgba(255,255,255,0.85) !important;
  outline-offset: 2px !important;
}

.bfe-callback-close svg {
  pointer-events: none;
}

.bfe-inline-lockup {
  min-height: 46px;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid var(--bfe-border);
  background: linear-gradient(180deg, rgba(20, 184, 166, 0.06), rgba(15, 118, 110, 0.03));
  font-weight: 700;
  color: var(--bfe-text);
  display: flex;
  align-items: center;
}


/* ═══════════════════════════════════
   FLOATING ACTIONS MODULE
   ═══════════════════════════════════ */
.bfe-fa {
  position: fixed;
  z-index: 100060;
  pointer-events: none;
}

.bfe-fa-inner,
.bfe-fa-menu {
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: auto;
}

.bfe-fa-position-bottom-right { right: 18px; bottom: 18px; }
.bfe-fa-position-bottom-left { left: 18px; bottom: 18px; }
.bfe-fa-position-bottom-center { left: 50%; bottom: 18px; transform: translateX(-50%); }
.bfe-fa-position-middle-right { right: 18px; top: 50%; transform: translateY(-50%); }
.bfe-fa-position-middle-left { left: 18px; top: 50%; transform: translateY(-50%); }

.bfe-fa-position-bottom-right .bfe-fa-inner,
.bfe-fa-position-middle-right .bfe-fa-inner,
.bfe-fa-position-bottom-right .bfe-fa-menu,
.bfe-fa-position-middle-right .bfe-fa-menu { align-items: flex-end; }

.bfe-fa-position-bottom-left .bfe-fa-inner,
.bfe-fa-position-middle-left .bfe-fa-inner,
.bfe-fa-position-bottom-left .bfe-fa-menu,
.bfe-fa-position-middle-left .bfe-fa-menu { align-items: flex-start; }

.bfe-fa-position-bottom-center .bfe-fa-inner,
.bfe-fa-position-bottom-center .bfe-fa-menu { align-items: center; }

.bfe-fa-launcher,
.bfe-fa-btn {
  border: 0;
  text-decoration: none;
  cursor: pointer;
  background: linear-gradient(135deg, var(--bfe-brand, #0f766e), var(--bfe-header, #172554));
  color: #fff;
  box-shadow: 0 18px 40px rgba(9, 18, 38, 0.18);
  transition: transform var(--bfe-transition), box-shadow var(--bfe-transition), opacity var(--bfe-transition);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}

.bfe-fa-launcher:hover,
.bfe-fa-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(9, 18, 38, 0.22);
}

.bfe-fa-launcher,
.bfe-fa-btn {
  min-height: 54px;
  padding: 0 18px;
  border-radius: 999px;
}

.bfe-fa-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.bfe-fa-mode-launcher .bfe-fa-menu {
  opacity: 0;
  transform: translateY(6px) scale(0.98);
  transition: opacity var(--bfe-transition), transform var(--bfe-transition);
}

.bfe-fa.is-open .bfe-fa-menu {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.bfe-fa-appearance-circle .bfe-fa-launcher,
.bfe-fa-appearance-circle .bfe-fa-btn {
  width: 58px;
  height: 58px;
  min-height: 58px;
  padding: 0;
  justify-content: center;
  border-radius: 999px;
}

.bfe-fa-appearance-circle .bfe-fa-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.bfe-fa-appearance-tab .bfe-fa-launcher,
.bfe-fa-appearance-tab .bfe-fa-btn {
  border-radius: 16px;
}

.bfe-fa-position-middle-right.bfe-fa-appearance-tab .bfe-fa-launcher,
.bfe-fa-position-middle-right.bfe-fa-appearance-tab .bfe-fa-btn,
.bfe-fa-position-middle-left.bfe-fa-appearance-tab .bfe-fa-launcher,
.bfe-fa-position-middle-left.bfe-fa-appearance-tab .bfe-fa-btn {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  min-height: 160px;
  padding: 18px 12px;
}

.bfe-fa-position-middle-left.bfe-fa-appearance-tab .bfe-fa-launcher,
.bfe-fa-position-middle-left.bfe-fa-appearance-tab .bfe-fa-btn {
  transform: rotate(180deg);
}

.bfe-fa-panel .bfe-form-shell,
.bfe-fa-panel .bfe-callback-shell {
  margin: 0;
}

.bfe-fa-panel .bfe-form-card {
  width: 100%;
  max-width: none;
}

.bfe-fa-menu[hidden] {
  display: none !important;
}


.bfe-fa-overlays {
  position: static;
}

.bfe-fa-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  --bfe-fa-safe-top: max(88px, calc(env(safe-area-inset-top, 0px) + 20px));
  --bfe-fa-safe-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 16px));
}

.bfe-fa-overlay .bfe-callback-dialog {
  padding: var(--bfe-fa-safe-top) 16px var(--bfe-fa-safe-bottom);
  align-items: flex-start;
}

.bfe-fa-overlay .bfe-callback-close {
  top: calc(var(--bfe-fa-safe-top) + 6px);
}

.bfe-fa-overlay .bfe-fa-panel {
  width: min(100%, 520px);
  max-width: 520px;
}

.bfe-fa-overlay .bfe-form-shell,
.bfe-fa-overlay .bfe-callback-shell,
.bfe-fa-overlay .bfe-fa-panel {
  margin: 0;
}

.bfe-fa-overlay .bfe-form-card {
  width: 100%;
  max-width: none;
  max-height: calc(100dvh - var(--bfe-fa-safe-top) - var(--bfe-fa-safe-bottom));
  overflow: auto;
}

.bfe-fa-dialog-position-middle-right.bfe-callback-dialog-drawer,
.bfe-fa-dialog-position-bottom-right.bfe-callback-dialog-drawer {
  justify-content: flex-end;
}

.bfe-fa-dialog-position-middle-left.bfe-callback-dialog-drawer,
.bfe-fa-dialog-position-bottom-left.bfe-callback-dialog-drawer {
  justify-content: flex-start;
}

.bfe-fa-dialog-position-bottom-center.bfe-callback-dialog-modal {
  justify-content: center;
}

@media (max-width: 782px) {
  .bfe-fa-overlay {
    --bfe-fa-safe-top: max(74px, calc(env(safe-area-inset-top, 0px) + 14px));
    --bfe-fa-safe-bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 14px));
  }

  .bfe-callback-trigger-floating-tab .bfe-callback-trigger-btn {
    top: auto;
    bottom: 18px;
    min-height: 52px;
    min-width: auto;
    padding: 0 16px;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    border-radius: 999px;
    transform: none;
  }

  .bfe-callback-trigger-floating-tab.bfe-callback-position-middle-right .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-right .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-button.bfe-callback-position-middle-right .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-button.bfe-callback-position-bottom-right .bfe-callback-trigger-btn {
    left: auto;
    right: 16px;
    top: auto;
    bottom: 16px;
    transform: none;
  }

  .bfe-callback-trigger-floating-tab.bfe-callback-position-middle-left .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-left .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-button.bfe-callback-position-middle-left .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-button.bfe-callback-position-bottom-left .bfe-callback-trigger-btn {
    left: 16px;
    right: auto;
    top: auto;
    bottom: 16px;
    transform: none;
  }

  .bfe-callback-trigger-floating-tab.bfe-callback-position-bottom-center .bfe-callback-trigger-btn,
  .bfe-callback-trigger-floating-button.bfe-callback-position-bottom-center .bfe-callback-trigger-btn {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 16px;
    transform: translateX(-50%);
  }

  .bfe-callback-dialog {
    inset: auto 0 0 0;
    width: 100%;
    padding: 12px;
    align-items: flex-end;
  }

  .bfe-callback-shell .bfe-form-card {
    width: 100%;
    max-width: 100%;
    max-height: calc(100vh - 24px);
    overflow: auto;
  }

  .bfe-fa-position-middle-right,
  .bfe-fa-position-middle-left,
  .bfe-fa-position-bottom-center {
    top: auto;
  }

  .bfe-fa-position-middle-right,
  .bfe-fa-position-bottom-right { right: 16px; left: auto; bottom: 16px; transform: none; }
  .bfe-fa-position-middle-left,
  .bfe-fa-position-bottom-left { left: 16px; right: auto; bottom: 16px; transform: none; }
  .bfe-fa-position-bottom-center { left: 50%; right: auto; bottom: 16px; transform: translateX(-50%); }

  .bfe-fa-appearance-tab .bfe-fa-launcher,
  .bfe-fa-appearance-tab .bfe-fa-btn {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    min-height: 52px;
    padding: 0 16px;
    transform: none !important;
  }

  .bfe-fa-panel .bfe-form-card {
    width: 100%;
    max-width: 100%;
    max-height: calc(100vh - 24px);
    overflow: auto;
  }
}

/* Scheduler / internal booking */
.bfe-scheduler-picker {
  display: grid;
  gap: 14px;
}

.bfe-scheduler-month-note {
  margin: 0 0 10px;
  font-size: 12px;
  color: #64748b;
}

.bfe-scheduler-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 8px;
}

.bfe-scheduler-day,
.bfe-scheduler-slot {
  appearance: none;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  border-radius: 14px;
  color: #0f172a;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.bfe-scheduler-day {
  padding: 10px 10px 9px;
  min-height: 68px;
  text-align: center;
}

.bfe-scheduler-day:hover,
.bfe-scheduler-slot:hover {
  border-color: color-mix(in srgb, var(--bfe-accent) 44%, #cbd5e1);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.bfe-scheduler-day.is-active,
.bfe-scheduler-slot.is-active {
  border-color: var(--bfe-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bfe-accent) 16%, transparent);
  background: color-mix(in srgb, var(--bfe-accent) 7%, #fff);
}

.bfe-scheduler-day-label {
  display: block;
  font-weight: 800;
  font-size: 13px;
  color: var(--bfe-header);
  letter-spacing: .02em;
}

.bfe-scheduler-day-sub {
  display: block;
  font-size: 12px;
  margin-top: 3px;
  color: #475569;
}

.bfe-scheduler-slots {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  gap: 8px;
}

.bfe-scheduler-slot {
  padding: 11px 10px;
  font-weight: 700;
  min-height: 46px;
  font-size: 13px;
}

.bfe-scheduler-selection,
.bfe-slot-summary-card,
.bfe-success-slot {
  border-radius: 14px;
  background: color-mix(in srgb, var(--bfe-accent) 7%, #fff);
  border: 1px solid color-mix(in srgb, var(--bfe-accent) 16%, rgba(15, 23, 42, 0.08));
}

.bfe-scheduler-selection {
  margin-top: 12px;
  padding: 12px 14px;
  font-weight: 700;
  color: var(--bfe-header);
}

.bfe-slot-summary-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.bfe-slot-summary-card--inline {
  margin-bottom: 14px;
}

.bfe-slot-summary-card strong,
.bfe-success-slot strong {
  color: var(--bfe-header);
}

.bfe-success-slot {
  padding: 10px 14px;
  margin-top: 14px;
}

.bfe-scheduler-empty {
  padding: 14px 16px;
  border: 1px dashed rgba(15, 23, 42, 0.16);
  border-radius: 14px;
  color: #475569;
  background: rgba(248, 250, 252, 0.92);
}

@media (max-width: 680px) {
  .bfe-scheduler-days {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bfe-scheduler-slots {
    grid-template-columns: 1fr;
  }
}


.bfe-is-hidden{display:none!important}.bfe-status-checker{padding:24px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:var(--bfe-surface,#fff);box-shadow:0 10px 30px rgba(15,23,42,.06)}.bfe-status-result{margin-top:18px}.bfe-status-form .bfe-actions{margin-top:8px}

/* v3.1.1 hardening — viewport, mobile input zoom, and theme-safe surfaces */
.bfe-popup-overlay {
  --bfe-popup-safe-top: max(16px, calc(env(safe-area-inset-top, 0px) + 12px));
  --bfe-popup-safe-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px));
  padding: var(--bfe-popup-safe-top) 12px var(--bfe-popup-safe-bottom);
}

.bfe-popup-modal,
.bfe-callback-shell .bfe-form-card,
.bfe-fa-panel .bfe-form-card {
  max-height: calc(100dvh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.bfe-popup-modal {
  max-height: calc(100dvh - var(--bfe-popup-safe-top) - var(--bfe-popup-safe-bottom));
}

.bfe-form-shell {
  color-scheme: light;
}

@media (max-width: 782px) {
  .bfe-input,
  .bfe-select,
  .bfe-textarea,
  .bfe-compact .bfe-input,
  .bfe-compact .bfe-select,
  .bfe-compact .bfe-textarea,
  .bfe-type-needs-finder .bfe-input,
  .bfe-type-needs-finder .bfe-select,
  .bfe-type-needs-finder .bfe-textarea,
  .bfe-subscribe-input .bfe-input {
    font-size: 16px;
  }

  .bfe-popup-overlay {
    align-items: flex-end;
  }

  .bfe-popup-modal,
  .bfe-callback-shell .bfe-form-card,
  .bfe-fa-panel .bfe-form-card {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 24px);
    border-radius: 16px;
  }

  .bfe-callback-dialog,
  .bfe-fa-overlay .bfe-callback-dialog {
    padding-top: max(16px, calc(env(safe-area-inset-top, 0px) + 12px));
    padding-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px));
  }
}


/* Lead Banner Engine */
.bfe-lead-banners-root {
  --bfe-banner-bg: #0f172a;
  --bfe-banner-fg: #ffffff;
  --bfe-banner-soft: rgba(255,255,255,.16);
}

.bfe-hero-deal-banner,
.bfe-scroll-lead-group,
.bfe-sticky-offer-banner {
  box-sizing: border-box;
  font-family: var(--bfe-banner-font, inherit);
}

.bfe-hero-deal-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9990;
  padding: 12px 18px;
  background: linear-gradient(135deg, var(--bfe-banner-hero-start, #172554), var(--bfe-banner-hero-end, #0f766e));
  color: var(--bfe-banner-hero-text, #ffffff);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}
body.admin-bar .bfe-hero-deal-banner { top: 32px; }
.bfe-lead-banner-shell {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
}
.bfe-lead-banner-copy { flex: 1; min-width: 0; }
.bfe-lead-banner-title-wrap { display: flex; flex-direction: column; gap: 5px; }
.bfe-lead-banner-badge {
  display: inline-flex;
  margin: 0 0 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--bfe-banner-badge-bg, rgba(255,255,255,.15));
  color: var(--bfe-banner-badge-text, #fff);
  font-size: var(--bfe-banner-badge-size, 12px);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.bfe-lead-banner-title,
.bfe-scroll-lead-title,
.bfe-sticky-offer-title {
  margin: 0;
  color: inherit;
  line-height: 1.2;
}
.bfe-lead-banner-title { font-size: var(--bfe-banner-title-size, 20px); }
.bfe-scroll-lead-title,
.bfe-sticky-offer-title { font-size: calc(var(--bfe-banner-title-size, 20px) - 2px); }
.bfe-lead-banner-text,
.bfe-scroll-lead-text,
.bfe-sticky-offer-text {
  margin: 0;
  color: inherit;
  opacity: .92;
  line-height: 1.5;
  font-size: var(--bfe-banner-text-size, 15px);
}
.bfe-lead-banner-actions,
.bfe-sticky-offer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.bfe-lead-banner-dismiss {
  appearance: none;
  border: 0;
  background: rgba(255,255,255,.14);
  color: #fff;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 1px;
  text-align: center;
}

.bfe-device-hidden,
[data-bfe-device-empty="yes"] { display: none !important; }

.bfe-offset-by-top-bar {
  top: calc(var(--bfe-offset-orig-top, 0px) + var(--bfe-top-bar-offset, 0px)) !important;
}
.bfe-scroll-lead-group {
  position: fixed;
  right: 20px;
  bottom: 140px;
  z-index: 9988;
  width: min(760px, calc(100vw - 40px));
}
.bfe-scroll-lead-group[hidden] { display: none !important; }
.bfe-scroll-lead-group-inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.bfe-scroll-lead-card,
.bfe-sticky-offer-banner {
  position: relative;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: var(--bfe-banner-card-bg, #fff);
  box-shadow: 0 20px 60px rgba(15, 23, 42, .12);
  color: var(--bfe-banner-card-text, #0f172a);
}
.bfe-lead-banner-dismiss-group {
  position: absolute;
  top: -10px;
  right: -10px;
  color: #0f172a;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .18);
}
.bfe-sticky-banner-wrap {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9987;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  pointer-events: none;
  padding: 0 16px 16px;
  /* Default hidden state */
  opacity: 0;
  transform: translateY(24px);
}
/* Before JS takes over */
.bfe-sticky-banner-wrap[hidden] { display: none !important; }
/* Once JS has initialized, enable transitions */
.bfe-sticky-banner-wrap.bfe-bar-ready {
  transition: opacity .24s ease, transform .24s ease;
  will-change: opacity, transform;
}
/* Visible state */
.bfe-sticky-banner-wrap.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: none;
}
.bfe-sticky-banner-wrap.is-visible > * { pointer-events: auto; }
.bfe-sticky-offer-banner {
  width: min(100%, 1320px);
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 18px;
  border-radius: 14px;
  padding: 12px 18px;
  box-shadow: 0 16px 34px rgba(15,23,42,.18);
}
.bfe-sticky-offer-banner-primary {
  background: linear-gradient(135deg, var(--bfe-banner-sticky-primary-start, rgba(15,118,110,.98)), var(--bfe-banner-sticky-primary-end, rgba(20,184,166,.98)));
  color: var(--bfe-banner-sticky-text, #fff);
}
.bfe-sticky-offer-banner-secondary {
  background: linear-gradient(135deg, var(--bfe-banner-sticky-secondary-start, rgba(15,23,42,.98)), var(--bfe-banner-sticky-secondary-end, rgba(30,41,59,.98)));
  color: var(--bfe-banner-sticky-text, #fff);
}
.bfe-sticky-offer-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.bfe-sticky-offer-badge {
  margin: 0;
  white-space: nowrap;
}
.bfe-sticky-offer-text-wrap { min-width: 0; }
.bfe-sticky-offer-title {
  margin: 0;
  font-size: var(--bfe-banner-title-size, 20px);
  line-height: 1.15;
  color: inherit;
}
.bfe-sticky-offer-text {
  margin: 4px 0 0;
  font-size: var(--bfe-banner-text-size, 15px);
  line-height: 1.35;
  color: inherit;
  opacity: .95;
}
.bfe-sticky-offer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.bfe-sticky-offer-banner .bfe-btn,
.bfe-scroll-lead-card .bfe-btn,
.bfe-hero-deal-banner .bfe-btn {
  min-height: 44px;
}
.bfe-hero-deal-banner .bfe-btn-primary {
  background: var(--bfe-banner-hero-btn-bg, #ffffff) !important;
  color: var(--bfe-banner-hero-btn-text, #0f2f45) !important;
  border-color: transparent !important;
}
.bfe-hero-deal-banner .bfe-btn-secondary {
  background: transparent !important;
  color: var(--bfe-banner-hero-text, #ffffff) !important;
  border: 1px solid rgba(255,255,255,.36) !important;
}
.bfe-scroll-lead-card .bfe-btn,
.bfe-sticky-offer-banner .bfe-btn {
  background: var(--bfe-banner-card-btn-bg, #0f766e) !important;
  color: var(--bfe-banner-card-btn-text, #ffffff) !important;
  border-color: transparent !important;
}
.bfe-sticky-offer-banner .bfe-btn {
  background: var(--bfe-banner-sticky-btn-bg, #ffffff) !important;
  color: var(--bfe-banner-sticky-btn-text, #0f2f45) !important;
}
.bfe-btn-sticky {
  min-height: 44px !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  min-width: 180px;
  justify-content: center !important;
  font-size: var(--bfe-banner-button-size, 14px) !important;
}
.bfe-btn-block { width: 100%; justify-content: center; }
.bfe-lead-banner-overlay .bfe-callback-dialog {
  justify-content: center;
}

.bfe-lead-banner-overlay .bfe-lead-banner-panel {
  width: min(100%, 760px);
  max-width: 760px;
  margin: auto 0;
  pointer-events: auto;
}

.bfe-lead-banner-overlay .bfe-form-shell,
.bfe-lead-banner-overlay .bfe-callback-shell,
.bfe-lead-banner-overlay .bfe-lead-banner-panel {
  margin: 0;
}

.bfe-lead-banner-overlay .bfe-form-card {
  width: 100%;
  max-width: none;
  max-height: calc(100dvh - var(--bfe-callback-safe-top) - var(--bfe-callback-safe-bottom));
  overflow: auto;
}

.bfe-mid-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9989;
  background: linear-gradient(90deg, var(--bfe-mid-start, #0f7f6f), var(--bfe-mid-end, #2563eb));
  color: var(--bfe-mid-text, #ffffff);
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
  font-family: var(--bfe-banner-font, inherit);
  /* Default hidden state (no transition initially to prevent FOUC) */
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}
/* Before JS takes over, use hidden to prevent layout shifts */
.bfe-mid-sticky-bar[hidden] { display: none !important; }
/* Once JS has initialized, enable transitions */
.bfe-mid-sticky-bar.bfe-bar-ready {
  transition: opacity .24s ease, transform .24s ease;
  will-change: opacity, transform;
}
/* Visible state */
.bfe-mid-sticky-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.bfe-mid-sticky-bar-inner {
  width: min(100%, 1320px);
  margin: 0 auto;
  padding: 12px 18px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 18px;
}
.bfe-mid-sticky-copy {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.bfe-mid-sticky-badge {
  margin: 0;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: inherit;
  font-size: var(--bfe-banner-badge-size, 12px);
  font-weight: 700;
  white-space: nowrap;
}
.bfe-mid-sticky-text-wrap { min-width: 0; }
.bfe-mid-sticky-title {
  margin: 0;
  font-size: var(--bfe-mid-title-size, 16px);
  line-height: 1.15;
  color: inherit;
}
.bfe-mid-sticky-text {
  margin: 3px 0 0;
  font-size: var(--bfe-mid-text-size, 14px);
  line-height: 1.35;
  color: inherit;
  opacity: .94;
}
.bfe-mid-sticky-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.bfe-btn-mid {
  background: var(--bfe-mid-btn-bg, #ffffff) !important;
  color: var(--bfe-mid-btn-text, #1d4ed8) !important;
  border-color: transparent !important;
  border-radius: 12px !important;
  min-height: 42px !important;
  padding: 11px 22px !important;
  min-width: 170px;
  font-size: var(--bfe-mid-button-size, 14px) !important;
  justify-content: center !important;
}
.bfe-utility-deal-bar.bfe-top-fixed-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}
body.admin-bar .bfe-utility-deal-bar.bfe-top-fixed-bar { top: 32px; }
.bfe-top-fixed-spacer { width: 100%; display: none !important; height:0 !important; }

body.bfe-lead-banners-suspended .bfe-hero-deal-banner,
body.bfe-lead-banners-suspended .bfe-mid-sticky-bar,
body.bfe-lead-banners-suspended .bfe-scroll-lead-group,
body.bfe-lead-banners-suspended .bfe-sticky-banner-wrap {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .18s ease, transform .18s ease;
}
@media (prefers-reduced-motion: reduce) {
  .bfe-mid-sticky-bar,
  .bfe-sticky-banner-wrap,
  body.bfe-lead-banners-suspended .bfe-hero-deal-banner,
  body.bfe-lead-banners-suspended .bfe-mid-sticky-bar,
  body.bfe-lead-banners-suspended .bfe-scroll-lead-group,
  body.bfe-lead-banners-suspended .bfe-sticky-banner-wrap {
    transition: none !important;
    transform: none !important;
  }
}
@media (max-width: 900px) {
  .bfe-lead-banner-shell {
    flex-direction: column;
    align-items: stretch;
  }
  .bfe-scroll-lead-group {
    left: 16px;
    right: 16px;
    width: auto;
    bottom: 16px;
  }
  .bfe-mid-sticky-bar-inner {
    width: auto;
    grid-template-columns: 1fr;
    padding: 12px 56px 12px 16px;
  }
  .bfe-mid-sticky-copy {
    flex-wrap: wrap;
  }
  .bfe-mid-sticky-actions {
    justify-content: flex-start;
  }
  .bfe-scroll-lead-group-inner,
  .bfe-sticky-banner-wrap {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .bfe-sticky-banner-wrap {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 12px 12px;
  }
  .bfe-sticky-offer-banner {
    width: 100%;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    padding-right: 56px;
  }
  .bfe-sticky-offer-copy {
    flex-wrap: wrap;
  }
  .bfe-sticky-offer-actions {
    justify-content: flex-start;
  }
}


/* Deal Bar Engine v3.1.6 */
.bfe-utility-deal-bar {
  position: relative;
  z-index: 9992;
  width: 100%;
  background: linear-gradient(90deg, var(--bfe-lb-bg-start, #102950), var(--bfe-lb-bg-end, #0F85B5));
  color: var(--bfe-lb-text, #fff);
  box-shadow: 0 12px 30px rgba(15,23,42,.12);
  font-family: var(--bfe-lb-font, inherit);
  font-size: var(--bfe-lb-font-size, 14px);
}
.bfe-utility-deal-bar[hidden] { display: none !important; }
.bfe-utility-deal-bar-inner {
  min-height: var(--bfe-lb-height, 44px);
  width: 100%;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.bfe-utility-size-slim { font-size: 14px; }
.bfe-utility-size-normal { font-size: 15px; padding-top: 10px; padding-bottom: 10px; }
.bfe-utility-size-large { font-size: 16px; padding-top: 12px; padding-bottom: 12px; }
.bfe-utility-primary,
.bfe-utility-stats,
.bfe-utility-actions,
.bfe-utility-timer {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bfe-utility-primary,
.bfe-utility-stat,
.bfe-utility-timer {
  position: relative;
}
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-stat + .bfe-utility-stat,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-timer,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-actions {
  padding-left: 14px;
}
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-stat + .bfe-utility-stat::before,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-timer::before,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-actions::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  background: var(--bfe-lb-divider, rgba(255,255,255,.28));
  transform: translateY(-50%);
}
.bfe-utility-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--bfe-lb-badge-bg, rgba(255,255,255,.14));
  color: var(--bfe-lb-badge-text, #ffffff);
  font-weight: 700;
  line-height: 1;
  font-size: var(--bfe-lb-badge-size, 12px);
}
.bfe-utility-title,
.bfe-utility-stat,
.bfe-utility-timer-label,
.bfe-utility-timer-value { color: inherit; }
.bfe-utility-title { font-weight: 700; font-size: var(--bfe-lb-title-size, 14px); }
.bfe-utility-stat { font-weight: 600; white-space: nowrap; }
.bfe-utility-timer-label { opacity: .82; }
.bfe-utility-timer-value { font-weight: 700; letter-spacing: .03em; }
.bfe-btn-utility {
  background: var(--bfe-lb-btn-bg, #fff) !important;
  color: var(--bfe-lb-btn-text, #0f2f45) !important;
  border: 0 !important;
  min-height: 36px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  font-size: var(--bfe-lb-button-size, 14px) !important;
}
.bfe-slot-host { width: 100%; margin: 0; padding: 0; }
.bfe-slot-host.bfe-slot-before-header,
.bfe-slot-host.bfe-slot-after-header,
.bfe-slot-host.bfe-slot-before-navigation { position: relative; z-index: 9992; }
.bfe-slot-host.bfe-slot-before-navigation { display:block; width:100vw; max-width:100vw; margin:0 calc(50% - 50vw); }
.bfe-inline-slot-offset { margin-top: var(--bfe-inline-slot-offset, 0px) !important; }
.bfe-sticky-banner-wrap[hidden] { display: none !important; }
@media (max-width: 900px) {
  .bfe-utility-deal-bar-inner {
    justify-content: flex-start;
    gap: 10px;
    padding-right: 52px;
  }
  .bfe-utility-primary,
  .bfe-utility-stats,
  .bfe-utility-actions,
  .bfe-utility-timer { flex-wrap: wrap; }
  .bfe-utility-stat + .bfe-utility-stat::before,
  .bfe-utility-timer::before,
  .bfe-utility-actions::before { display: none; }

  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stats {
    width: calc(100% - 44px);
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat {
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    padding-left: 0 !important;
    justify-content: flex-start;
  }

  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat::before,
  .bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat::before {
    display: none;
  }

  .bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat {
    padding-left: 0 !important;
  }
}



.bfe-device-hidden,
[data-bfe-device-empty="yes"] { display: none !important; }

.bfe-offset-by-top-bar {
  top: calc(var(--bfe-offset-orig-top, 0px) + var(--bfe-top-bar-offset, 0px)) !important;
}

.bfe-debug-panel{position:fixed;right:16px;bottom:16px;z-index:2147483644;width:min(420px,calc(100vw - 24px));max-height:min(70vh,720px);overflow:auto;background:#0f172a;color:#e5eef8;border-radius:14px;box-shadow:0 16px 50px rgba(2,6,23,.34);padding:14px;border:1px solid rgba(148,163,184,.22);font:13px/1.45 Inter,system-ui,sans-serif}.bfe-debug-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bfe-debug-panel__scope{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.bfe-debug-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid rgba(148,163,184,.14)}.bfe-debug-row:first-child{border-top:0}.bfe-debug-row__status{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700}.bfe-debug-row.is-ok .bfe-debug-row__status{background:#14532d;color:#bbf7d0}.bfe-debug-row.is-bad .bfe-debug-row__status{background:#7f1d1d;color:#fecaca}.bfe-debug-row__label{font-weight:700;color:#fff;margin-bottom:3px}.bfe-debug-row__meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#cbd5e1;font-size:12px}.bfe-debug-row__match{margin-top:4px;color:#cbd5e1}.bfe-debug-row code{background:rgba(15,23,42,.8);padding:2px 6px;border-radius:6px;color:#bfdbfe;word-break:break-word}.bfe-debug-panel .button{align-self:center;white-space:nowrap}.bfe-debug-panel__hint{margin-top:10px;color:#94a3b8;font-size:11px}@media (max-width:782px){.bfe-debug-panel{right:10px;left:10px;bottom:10px;width:auto}}

.bfe-debug-panel--builder{max-width:420px}.bfe-debug-panel code{word-break:break-word}.bfe-debug-panel .bfe-debug-row__main{min-width:0}.bfe-debug-panel .bfe-debug-row__meta,.bfe-debug-panel .bfe-debug-row__match{overflow-wrap:anywhere}


/* ═══════════════════════════════════
   EXIT JOURNEYS (ADDITIVE MODULE)
   ═══════════════════════════════════ */
.bfe-exit-journey-overlay{
  position:fixed;inset:0;z-index:2147483646;background:rgba(15,23,42,.58);display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer;
}
.bfe-exit-journey-modal{
  position:relative;width:min(100%,560px);background:#fff;border-radius:22px;padding:24px 24px 20px;box-shadow:0 30px 80px rgba(15,23,42,.28);border:1px solid rgba(15,23,42,.08);cursor:default;
}
.bfe-exit-journey-modal--cta{max-width:520px}
.bfe-exit-journey-modal--survey{max-width:560px}
.bfe-exit-journey-close{position:absolute;top:14px;right:14px;background:#fff;border:1px solid rgba(15,23,42,.1);color:#334155;border-radius:999px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;cursor:pointer;z-index:20;transition:background .15s ease,border-color .15s ease}.bfe-exit-journey-close:hover,.bfe-exit-journey-close:focus-visible{background:#f1f5f9;border-color:rgba(15,23,42,.2)}.bfe-exit-journey-close svg{display:block;width:18px;height:18px;stroke:currentColor;pointer-events:none}
.bfe-exit-journey-badge,.bfe-exit-journey-topic-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#ecfeff;color:#0f766e;font-weight:700;font-size:12px;letter-spacing:.02em;margin-bottom:12px}
.bfe-exit-journey-modal h3{margin:0 0 8px;font-size:28px;line-height:1.18;color:#0f172a}
.bfe-exit-journey-subheadline{margin:0 0 14px;color:#475569;font-size:15px;line-height:1.6}
.bfe-exit-journey-question{font-weight:700;color:#0f172a;margin:12px 0 12px}
.bfe-exit-journey-options{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 16px}
.bfe-exit-journey-option{display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.1);font-weight:600;color:#0f172a;min-height:52px}
.bfe-exit-journey-option:hover,.bfe-exit-journey-option:focus{border-color:var(--bfe-brand,#0f766e);box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.bfe-exit-journey-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.bfe-exit-journey-actions.is-secondary-only{margin-top:0}
.bfe-exit-journey-primary{width:100%;min-height:52px;font-size:16px}
.bfe-exit-journey-secondary{width:100%;border:0;background:transparent;color:#0f766e;font-weight:700;padding:10px 12px}
.bfe-exit-journey-trust{margin-top:10px;font-size:12px;line-height:1.5;color:#64748b}
.bfe-exit-journey-topic{margin:0 0 12px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}
.bfe-exit-journey-topic-line{font-size:13px;line-height:1.55;color:#334155}
.bfe-exit-journey-status{min-height:18px;margin-top:6px;font-size:12px;color:#475569}
.bfe-exit-journey-status.is-success{color:#15803d}
.bfe-exit-journey-status.is-error{color:#b91c1c}
.bfe-exit-journey-routes{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:visible!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.bfe-exit-journey-routes.is-runtime-open{left:-99999px!important;width:1px!important;height:1px!important;overflow:visible!important}
@media (max-width: 782px){
  .bfe-exit-journey-overlay{padding:14px;align-items:flex-end}
  .bfe-exit-journey-modal{width:100%;max-width:none;border-radius:22px 22px 0 0;padding:22px 18px 18px}
  .bfe-exit-journey-modal h3{font-size:22px}
  .bfe-exit-journey-subheadline{font-size:14px}
}

/* ═══════════════════════════════════
   REUSABLE FORM SYSTEM — UNIVERSAL POPUP HARDENING
   ═══════════════════════════════════ */
button.bfe-popup-trigger,
button.bfe-popup-close,
button.bfe-exit-close,
button.bfe-exit-journey-close {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  margin: 0 !important;
}

button.bfe-popup-trigger {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: var(--bfe-radius-sm, 10px) !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  background: var(--bfe-cta, var(--bfe-accent, var(--bfe-brand, #1e73be))) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(20, 184, 166, 0.28) !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  transition: transform var(--bfe-transition), box-shadow var(--bfe-transition), background var(--bfe-transition), opacity var(--bfe-transition) !important;
}

button.bfe-popup-trigger:hover,
button.bfe-popup-trigger:focus-visible {
  transform: translateY(-1px) !important;
  background: var(--bfe-brand, var(--bfe-cta, var(--bfe-accent, #155dfc))) !important;
  box-shadow: 0 12px 32px rgba(15, 118, 110, 0.32) !important;
}

button.bfe-popup-trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--bfe-cta, var(--bfe-accent, #14b8a6)) 55%, white) !important;
  outline-offset: 2px !important;
}

button.bfe-popup-close,
button.bfe-exit-close,
button.bfe-exit-journey-close {
  border: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  line-height: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.bfe-popup-trigger-wrap .bfe-popup-trigger {
  max-width: 100%;
}

.bfe-popup-overlay {
  --bfe-close-bg: rgba(15, 23, 42, 0.68);
  --bfe-close-bg-hover: rgba(15, 23, 42, 0.84);
  --bfe-close-color: #ffffff;
}

.bfe-popup-modal {
  width: 100%;
  max-width: var(--bfe-popup-max-width, 520px);
  overflow: auto;
  overscroll-behavior: contain;
}

.bfe-popup-modal .bfe-form-card,
.bfe-popup-modal .bfe-form-shell.bfe-compact .bfe-form-card {
  width: 100%;
  max-width: none;
}

.bfe-popup-close {
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  border-radius: 999px;
  background: var(--bfe-close-bg) !important;
  color: var(--bfe-close-color) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.20) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  touch-action: manipulation;
  user-select: none;
  flex-shrink: 0;
}

.bfe-popup-close:hover,
.bfe-popup-close:active {
  background: var(--bfe-close-bg-hover) !important;
}

.bfe-popup-close svg {
  pointer-events: none;
}

.bfe-popup-overlay.bfe-popup-mode-drawer-right {
  justify-content: flex-end;
  padding: 0;
}

.bfe-popup-modal.bfe-popup-modal-drawer-right {
  height: 100dvh;
  max-height: 100dvh;
  width: min(100vw, var(--bfe-popup-max-width, 560px));
  border-radius: 24px 0 0 24px;
}

.bfe-popup-overlay.bfe-popup-mode-drawer-bottom {
  align-items: flex-end;
  padding: 0;
}

.bfe-popup-modal.bfe-popup-modal-drawer-bottom {
  width: 100%;
  max-width: 100%;
  max-height: min(90dvh, 840px);
  border-radius: 24px 24px 0 0;
}

body.bfe-modal-open {
  overflow: hidden;
}

@media (max-width: 782px) {
  .bfe-popup-modal.bfe-popup-modal-drawer-right {
    width: min(100vw, 100%);
    border-radius: 20px 20px 0 0;
  }
}


/* Popup portal / viewport hardening */
.bfe-popup-overlay {
  width: 100vw;
  height: 100dvh;
}

.bfe-popup-modal {
  flex: 0 1 auto;
  min-width: min(100%, 320px);
}


@media (max-height: 780px) {
  .bfe-callback-dialog {
    align-items: flex-start;
  }

  .bfe-callback-dialog .bfe-callback-shell,
  .bfe-callback-dialog .bfe-fa-panel {
    margin: 0;
  }

  button.bfe-callback-close {
    top: 12px;
  }
}


.bfe-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


.bfe-choice-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.bfe-choice-fieldset > .bfe-label,
.bfe-choice-fieldset > .bfe-visually-hidden {
  margin-bottom: 10px;
}

.bfe-choice-fieldset .bfe-choice-grid,
.bfe-choice-fieldset .bfe-inline-options,
.bfe-choice-fieldset .bfe-service-grid,
.bfe-choice-fieldset .bfe-chip-grid {
  margin-top: 0;
}

/* v3.9.5 — Sticky Navigation Behaviour Parity Patch */
.bfe-popup-link {
  cursor: pointer;
}

.bfe-sticky-nav-spacer {
  display: block;
  width: 100%;
  min-width: 1px;
  pointer-events: none;
}

.bfe-sticky-nav-spacer[hidden] {
  display: none !important;
}

[data-bfe-sticky-shell="1"] {
  width: 100%;
}

[data-bfe-sticky-shell="1"] {
  transition: top .22s ease, box-shadow .22s ease, transform .22s ease;
  will-change: top, transform;
}

[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky),
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) > [data-bfe-sticky-nav="1"],
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) #masthead,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .site-header-row-container-inner,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .site-header-row-container,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .site-top-header-wrap,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .site-main-header-wrap,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .site-bottom-header-wrap,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .kadence-header-row,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .kadence-sticky-header,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .ast-builder-grid-row-container,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .ast-primary-header-bar,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .ast-main-header-wrap,
[data-bfe-sticky-shell="1"][data-bfe-transparent-header-context="1"]:not(.bfe-is-sticky) .main-header-bar {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-bfe-sticky-shell="1"].bfe-is-sticky {
  position: fixed !important;
  top: var(--bfe-sticky-nav-top, 0px);
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
  z-index: var(--bfe-sticky-nav-z, 9998);
}

[data-bfe-sticky-shell="1"] > [data-bfe-sticky-nav="1"] {
  width: 100%;
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-shadow {
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-compact {
  transform: translateZ(0) scale(.985);
  transform-origin: top center;
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-suspended {
  pointer-events: none;
}

body.bfe-modal-open [data-bfe-sticky-shell="1"].bfe-sticky-nav-suspended {
  opacity: .96;
}


[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky {
  background: var(--bfe-sticky-nav-bg, #ffffff) !important;
  border-bottom: var(--bfe-sticky-nav-border-width, 0px) solid var(--bfe-sticky-nav-border-color, transparent) !important;
  border-radius: var(--bfe-sticky-nav-radius, 0px) !important;
  backdrop-filter: blur(var(--bfe-sticky-nav-blur, 0px));
  -webkit-backdrop-filter: blur(var(--bfe-sticky-nav-blur, 0px));
}


body.ast-theme-transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky,
body.ast-theme-transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .main-header-bar,
body.ast-theme-transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-primary-header-bar,
body.ast-theme-transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-grid-row-container,
body.ast-theme-transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-main-header-wrap {
  background: var(--bfe-sticky-nav-bg, #ffffff) !important;
  background-image: none !important;
}

body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky #masthead,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-header-row-container-inner,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-header-row-container,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-top-header-wrap,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-main-header-wrap,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-bottom-header-wrap,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .kadence-header-row,
body.transparent-header [data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .kadence-sticky-header {
  background: var(--bfe-sticky-nav-bg, #ffffff) !important;
  background-image: none !important;
}

/* Make INNER wrappers transparent so the shell background shows through.
   These target specific theme containers that have their own background
   which would otherwise block the shell's styled background. */
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-primary-header-wrap,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-grid-row-container,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-primary-header-bar,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-primary-header,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-main-header-wrap,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .main-header-bar,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .kt-row-layout-inner,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-header-row-container,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .kadence-header-row,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .elementor-section,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .elementor-container {
  background: transparent !important;
  background-image: none !important;
}

/* Text and link colour overrides — covers all major theme menu patterns */
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky button:not(.bfe-btn),
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .menu-link,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .main-navigation a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .main-header-menu a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-menu a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-title a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .site-branding a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .kadence-header-navigation a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .elementor-nav-menu a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-masthead-custom-menu-items a {
  color: var(--bfe-sticky-nav-text, inherit) !important;
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-menu .menu-link,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-menu-1 .menu-link,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-mobile-menu-trigger-minimal,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .menu-toggle,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-button-wrap,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-icon,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky svg,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky svg path,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky svg rect,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky svg circle,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky svg line {
  color: var(--bfe-sticky-nav-text, inherit) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-builder-grid-row-container,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-main-header-wrap,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .ast-primary-header-bar,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .main-header-bar {
  color: var(--bfe-sticky-nav-text, inherit) !important;
}

[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky a:hover,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky a:focus-visible,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .current-menu-item > a,
[data-bfe-sticky-shell="1"].bfe-sticky-nav-styled.bfe-is-sticky .current_page_item > a {
  color: var(--bfe-sticky-nav-hover, var(--bfe-sticky-nav-text, inherit)) !important;
}

@media (max-width: 991px) {
  [data-bfe-sticky-shell="1"].bfe-is-sticky {
    left: 0 !important;
    width: 100% !important;
  }
}

/* v3.9.15 — Universal stacking: elements after the sticky nav can read --bfe-sticky-nav-bottom */
:root {
  --bfe-sticky-nav-bottom: 0px;
}


/* ===== Interactive Tools & Automation Engine v4.0.0 foundation ===== */
.bfe-tool-runtime{margin:24px 0}
.bfe-tool-card{background:var(--bfe-surface,#fff);border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 14%, #d7dde5);border-radius:var(--bfe-tool-radius,18px);padding:24px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.bfe-tool-header h3{margin:0 0 6px;font-size:1.6rem;line-height:1.2;color:var(--bfe-header,#0f172a)}
.bfe-tool-header p{margin:0 0 18px;color:color-mix(in srgb, var(--bfe-header,#172554) 62%, white);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.bfe-tool-progress{margin:0 0 18px}
.bfe-tool-progress-bar{height:10px;background:color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #e2e8f0);border-radius:999px;overflow:hidden}
.bfe-tool-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bfe-brand,#0f766e),var(--bfe-header,#2563eb));border-radius:999px;transition:width .25s ease}
.bfe-tool-progress-text{margin-top:8px;font-size:.92rem;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white)}
.bfe-tool-step{display:none}
.bfe-tool-step.is-active{display:block}
.bfe-tool-step-head h4{margin:0 0 6px;font-size:1.15rem;color:var(--bfe-header,#0f172a)}
.bfe-tool-step-head p{margin:0 0 16px;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white)}
.bfe-tool-step-fields{display:grid;gap:16px}
.bfe-tool-field label{display:block;font-weight:600;color:var(--bfe-header,#0f172a);margin-bottom:6px}
.bfe-tool-help{font-size:.88rem;color:color-mix(in srgb, var(--bfe-header,#172554) 60%, white);margin-bottom:8px}
.bfe-tool-field input,.bfe-tool-field select,.bfe-tool-field textarea{width:100%;padding:12px 14px;border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 18%, #cbd5e1);border-radius:12px;background:#fff;color:var(--bfe-header,#0f172a);box-sizing:border-box}
.bfe-tool-field textarea{min-height:130px;resize:vertical}
.bfe-tool-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 16%, #dbe3ee);border-radius:12px;background:color-mix(in srgb, var(--bfe-brand,#0f766e) 4%, #f8fafc);margin-bottom:8px}
.bfe-tool-choice input{width:auto;margin-top:3px}
.bfe-tool-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.bfe-tool-result{margin-top:22px}
.bfe-tool-result-card{border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 16%, #dbe3ee);background:linear-gradient(180deg,#fff,color-mix(in srgb, var(--bfe-brand,#0f766e) 4%, #f8fafc));border-radius:var(--bfe-tool-radius,18px);padding:20px}
.bfe-tool-result-score{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bfe-brand,#0f766e);font-weight:700;margin-bottom:8px}
@media (max-width: 767px){.bfe-tool-card{padding:18px}.bfe-tool-actions{justify-content:stretch}.bfe-tool-actions .bfe-btn{width:100%}}

.bfe-tool-package-summary{margin:18px 0;padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb, var(--bfe-brand,#0f766e) 7%, #ffffff),#ffffff);border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 16%, #dbe3ee);box-shadow:0 8px 24px rgba(15,23,42,.05)}
.bfe-tool-package-summary-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bfe-brand,#0f766e);font-weight:700;margin-bottom:6px}
.bfe-tool-package-summary-title{font-size:1.25rem;font-weight:800;color:var(--bfe-header,#0f172a);line-height:1.2}
.bfe-tool-package-summary-text{margin-top:6px;color:color-mix(in srgb, var(--bfe-header,#172554) 76%, white)}
.bfe-tool-package-summary-note{margin-top:8px;font-size:.9rem;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white)}
.bfe-tool-pricing-breakdown{margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #e2e8f0)}
.bfe-tool-pricing-breakdown h5{margin:0 0 10px;font-size:1rem;color:var(--bfe-header,#0f172a)}
.bfe-tool-pricing-breakdown ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.bfe-tool-pricing-breakdown li{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #e2e8f0)}
.bfe-tool-pricing-breakdown li span{color:color-mix(in srgb, var(--bfe-header,#172554) 72%, white)}
.bfe-tool-pricing-breakdown li strong{color:var(--bfe-header,#0f172a);font-weight:700}

.bfe-tool-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}
.bfe-tool-metric{background:#fff;border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 14%, #dbe3ee);border-radius:14px;padding:14px 16px;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.bfe-tool-metric-label{font-size:.82rem;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white);margin-bottom:6px}
.bfe-tool-metric-value{font-size:1.2rem;font-weight:700;color:var(--bfe-header,#0f172a);line-height:1.2}
.bfe-tool-recommendations{margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #e2e8f0)}
.bfe-tool-recommendations h5{margin:0 0 10px;font-size:1rem;color:var(--bfe-header,#0f172a)}
.bfe-tool-recommendations ul{margin:0;padding-left:18px;color:color-mix(in srgb, var(--bfe-header,#172554) 76%, white)}
.bfe-tool-recommendations li+li{margin-top:6px}

.bfe-tool-runtime .bfe-btn-primary{background:var(--bfe-tool-button-bg,var(--bfe-brand,#0f766e));border-color:var(--bfe-tool-button-bg,var(--bfe-brand,#0f766e));color:var(--bfe-tool-button-text,#fff)}
.bfe-tool-runtime .bfe-btn-primary:hover{background:var(--bfe-header,var(--bfe-brand,#0f766e));border-color:var(--bfe-header,var(--bfe-brand,#0f766e));color:var(--bfe-tool-button-text,#fff)}
.bfe-tool-runtime .bfe-tool-field input:focus,.bfe-tool-runtime .bfe-tool-field select:focus,.bfe-tool-runtime .bfe-tool-field textarea:focus{outline:0;border-color:var(--bfe-brand,#0f766e);box-shadow:0 0 0 3px color-mix(in srgb, var(--bfe-brand,#0f766e) 18%, transparent)}

.bfe-tool-service-cards-wrap{margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #e2e8f0)}
.bfe-tool-service-cards-wrap h5{margin:0 0 12px;font-size:1rem;color:var(--bfe-header,#0f172a)}
.bfe-tool-service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bfe-tool-service-card{background:#fff;border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 14%, #dbe3ee);border-radius:14px;padding:14px 16px;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.bfe-tool-service-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.bfe-tool-service-card-title{font-weight:700;color:var(--bfe-header,#0f172a);line-height:1.25}
.bfe-tool-service-card-priority{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bfe-brand,#0f766e)}
.bfe-tool-service-card-meta{margin-top:8px;font-size:.84rem;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white)}
.bfe-tool-service-card-note{margin-top:8px;font-size:.8rem;color:color-mix(in srgb, var(--bfe-header,#172554) 60%, white)}
.bfe-tool-service-card-link{margin-top:10px}.bfe-tool-service-card-link a{font-weight:600}
.bfe-tool-bundle-summary{margin-top:18px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb, var(--bfe-brand,#0f766e) 4%, #f8fafc);border:1px solid color-mix(in srgb, var(--bfe-brand,#0f766e) 12%, #dbe3ee)}
.bfe-tool-bundle-summary-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bfe-brand,#0f766e);font-weight:700;margin-bottom:6px}
.bfe-tool-bundle-summary-label{font-size:1rem;font-weight:700;color:var(--bfe-header,#0f172a)}
.bfe-tool-bundle-summary-meta{margin-top:6px;font-size:.86rem;color:color-mix(in srgb, var(--bfe-header,#172554) 68%, white)}


.bfe-tool-compare-table-wrap{margin:18px 0}.bfe-tool-compare-table-scroll{overflow:auto}.bfe-tool-compare-table{width:100%;border-collapse:collapse;background:var(--bfe-tool-surface, #fff)}.bfe-tool-compare-table th,.bfe-tool-compare-table td{border:1px solid rgba(15,23,42,.12);padding:10px 12px;text-align:left;font-size:14px;vertical-align:top}.bfe-tool-compare-table thead th{background:rgba(15,118,110,.08)}

/* Tool runtime alignment hotfix — force shared shell visual system */
.bfe-tool-runtime.bfe-form-shell{margin:24px 0}
.bfe-tool-runtime.bfe-form-shell .bfe-form-card{max-width:500px}
.bfe-tool-runtime.bfe-form-shell.bfe-compact .bfe-form-card{max-width:500px}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step{display:none}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step.is-active{display:block}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields>.bfe-field.bfe-full{grid-column:1/-1}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields>.bfe-field:not(.bfe-full){grid-column:span 1}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields .bfe-choice-grid,
.bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields .bfe-inline-options{width:100%}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-range-input{width:100%;accent-color:var(--bfe-accent);margin:4px 0 0}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-result{margin:0 18px 18px}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-result-card{border-radius:14px;padding:16px}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-metrics{margin:14px 0}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-metric{padding:12px 14px;border-radius:12px}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-recommendations,
.bfe-tool-runtime.bfe-form-shell .bfe-tool-service-cards-wrap,
.bfe-tool-runtime.bfe-form-shell .bfe-tool-pricing-breakdown,
.bfe-tool-runtime.bfe-form-shell .bfe-tool-bundle-summary{margin-top:14px;padding-top:14px}
@media (max-width:767px){
  .bfe-tool-runtime.bfe-form-shell .bfe-tool-step-fields{grid-template-columns:1fr}
  .bfe-tool-runtime.bfe-form-shell .bfe-step-actions{flex-wrap:wrap}
  .bfe-tool-runtime.bfe-form-shell .bfe-step-actions .bfe-btn{width:100%}
}



body.bfe-modal-open .bfe-fa,
body.bfe-modal-open .bfe-hero-deal-banner,
body.bfe-modal-open .bfe-mid-sticky-bar,
body.bfe-modal-open .bfe-scroll-lead-group,
body.bfe-modal-open .bfe-sticky-banner-wrap,
body.bfe-modal-open .bfe-utility-deal-bar,
body.bfe-modal-open [data-bfe-sticky-shell="1"] {
  pointer-events: none !important;
}



/* Floating Actions modal alignment parity with callback widget */
.bfe-fa-overlay .bfe-callback-dialog-modal {
  align-items: center;
  padding: var(--bfe-callback-safe-top) 16px var(--bfe-callback-safe-bottom);
}

.bfe-fa-overlay .bfe-callback-dialog-modal .bfe-fa-panel,
.bfe-fa-overlay .bfe-callback-dialog-modal .bfe-form-shell,
.bfe-fa-overlay .bfe-callback-dialog-modal .bfe-callback-shell {
  margin: auto 0;
}

.bfe-fa-overlay .bfe-callback-dialog-modal .bfe-form-card {
  max-height: min(860px, calc(100dvh - var(--bfe-callback-safe-top) - var(--bfe-callback-safe-bottom)));
}

@media (max-width: 782px) {
  .bfe-fa-overlay .bfe-callback-dialog-modal {
    padding: max(14px, calc(env(safe-area-inset-top, 0px) + 14px)) 14px max(14px, calc(env(safe-area-inset-bottom, 0px) + 14px));
  }

  .bfe-fa-overlay .bfe-callback-dialog-modal .bfe-form-card {
    max-height: calc(100dvh - max(14px, calc(env(safe-area-inset-top, 0px) + 14px)) - max(14px, calc(env(safe-area-inset-bottom, 0px) + 14px)));
  }
}


/* Interactive Tools — enhanced result presentation */
.bfe-tool-runtime{
  --bfe-tool-body-text: var(--bfe-header, #475569);
  --bfe-tool-border: #dbe3ee;
  --bfe-tool-result-badge-bg: var(--bfe-brand, #0f766e);
  --bfe-tool-result-badge-text: #ffffff;
}
.bfe-tool-card{border-color:var(--bfe-tool-border, #d7dde5)}
.bfe-tool-header p,
.bfe-tool-progress-text,
.bfe-tool-step-head p,
.bfe-tool-help,
.bfe-tool-metric-label,
.bfe-tool-recommendations ul,
.bfe-tool-service-card-meta,
.bfe-tool-service-card-note,
.bfe-tool-bundle-summary-meta,
.bfe-tool-compare-table th,
.bfe-tool-compare-table td,
.bfe-tool-result-summary,
.bfe-tool-status-card span{
  color:var(--bfe-tool-body-text, #475569);
}
.bfe-tool-field input,.bfe-tool-field select,.bfe-tool-field textarea,
.bfe-tool-choice,
.bfe-tool-result-card,
.bfe-tool-metric,
.bfe-tool-service-card,
.bfe-tool-bundle-summary,
.bfe-tool-compare-table th,.bfe-tool-compare-table td,
.bfe-tool-status-card{
  border-color:var(--bfe-tool-border, #dbe3ee);
}
.bfe-tool-result-card{
  padding:24px;
  display:grid;
  gap:18px;
  background:linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--bfe-brand,#0f766e) 3%, #f8fafc) 100%);
  box-shadow:0 16px 38px rgba(15,23,42,.08);
}
.bfe-tool-result-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.bfe-tool-result-score{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:var(--bfe-tool-result-badge-bg, var(--bfe-brand,#0f766e));
  color:var(--bfe-tool-result-badge-text, #fff);
  font-size:.78rem;
  letter-spacing:.06em;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  margin:0;
}
.bfe-tool-result-reference{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:color-mix(in srgb, var(--bfe-brand,#0f766e) 8%, #ffffff);
  border:1px solid var(--bfe-tool-border, #dbe3ee);
  color:var(--bfe-header,#0f172a);
  font-weight:600;
  font-size:.84rem;
}
.bfe-tool-result-card h4{
  margin:0;
  font-size:1.55rem;
  line-height:1.2;
  color:var(--bfe-header,#0f172a);
}
.bfe-tool-result-summary{
  margin:0;
  font-size:1rem;
  line-height:1.65;
}
.bfe-tool-status-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.bfe-tool-status-card{
  padding:14px 16px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.bfe-tool-status-card strong{
  display:block;
  margin-bottom:6px;
  font-size:.92rem;
  color:var(--bfe-header,#0f172a);
}
.bfe-tool-result-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding-top:2px;
}
.bfe-tool-runtime .bfe-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:12px 16px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--bfe-tool-border, #dbe3ee);
  color:var(--bfe-header,#0f172a);
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.bfe-tool-runtime .bfe-btn-secondary:hover,
.bfe-tool-runtime .bfe-btn-secondary:focus{
  border-color:var(--bfe-brand,#0f766e);
  color:var(--bfe-brand,#0f766e);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--bfe-brand,#0f766e) 14%, transparent);
}
.bfe-tool-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
.bfe-tool-metric{
  min-height:88px;
}
.bfe-tool-compare-table thead th{
  background:color-mix(in srgb, var(--bfe-brand,#0f766e) 8%, #ffffff);
}
.bfe-tool-runtime.bfe-form-shell .bfe-tool-result{
  margin:0 18px 18px;
}
@media (max-width: 640px){
  .bfe-tool-result-card{
    padding:18px;
  }
  .bfe-tool-result-actions .bfe-btn,
  .bfe-tool-result-actions .bfe-btn-secondary{
    width:100%;
  }
}
@media print{
  .bfe-tool-result-actions{
    display:none !important;
  }
}

/* v5.0.47 lead banner divider spacing refinement */
.bfe-utility-deal-bar .bfe-utility-primary,
.bfe-utility-deal-bar .bfe-utility-stats,
.bfe-utility-deal-bar .bfe-utility-actions,
.bfe-utility-deal-bar .bfe-utility-timer {
  gap: 16px;
}
.bfe-utility-deal-bar .bfe-utility-stat,
.bfe-banner-stats .bfe-banner-stat {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-stat + .bfe-utility-stat,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-timer,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-actions {
  padding-left: 18px;
}
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-stat + .bfe-utility-stat::before,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-timer::before,
.bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar .bfe-utility-actions::before {
  left: 0;
  height: 20px;
}
.bfe-banner-stat-icon,
.bfe-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: inherit;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.bfe-banner-stat-icon-rating { font-size: 12px; }
.bfe-utility-deal-bar .bfe-banner-stat-icon-utility,
.bfe-utility-deal-bar .bfe-badge-icon.bfe-banner-stat-icon-utility {
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
}
.bfe-utility-deal-bar .bfe-banner-stat-icon-utility.bfe-banner-stat-icon-ai,
.bfe-utility-deal-bar .bfe-badge-icon.bfe-banner-stat-icon-utility.bfe-banner-stat-icon-ai {
  color: #bfe8ff;
}
.bfe-banner-stat-icon-speed,
.bfe-banner-stat-icon-default { font-size: 12px; }
.bfe-banner-stat-text,
.bfe-badge-text { line-height: 1.2; }
.bfe-utility-badge,
.bfe-mid-sticky-badge,
.bfe-lead-banner-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.bfe-banner-stats {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.bfe-banner-stats-mid,
.bfe-banner-stats-hero,
.bfe-banner-stats-sticky {
  min-width: 0;
}
.bfe-mid-sticky-bar .bfe-banner-stats {
  margin-left: auto;
  justify-content: flex-end;
}
.bfe-hero-deal-banner .bfe-banner-stats,
.bfe-sticky-offer-banner .bfe-banner-stats {
  margin-top: 12px;
}
.bfe-banner-stats .bfe-banner-stat {
  position: relative;
  color: inherit;
  font-weight: 600;
}
.bfe-banner-stats .bfe-banner-stat + .bfe-banner-stat::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 50%;
  width: 1px;
  height: 18px;
  transform: translateY(-50%);
  background: var(--bfe-lb-divider, rgba(255,255,255,.28));
}
@media (max-width: 900px) {
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-primary,
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-actions,
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-timer,
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-mid-sticky-copy,
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-mid-sticky-actions,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-lead-banner-copy,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-lead-banner-actions,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-sticky-offer-copy,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-sticky-offer-actions {
    display: none !important;
  }
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-deal-bar-inner {
    gap: 0;
    align-items: center;
  }
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stats {
    width: calc(100% - 44px);
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: flex-start;
  }
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat::before {
    display: none;
  }
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-mid-sticky-bar-inner,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-lead-banner-shell,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] {
    align-items: center;
  }
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats {
    width: calc(100% - 40px);
    margin: 0;
    gap: 8px 14px;
    justify-content: flex-start;
  }
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before {
    display: none;
  }
}
.bfe-mid-sticky-bar-inner {
  grid-template-columns: minmax(0,1fr) auto auto auto;
}
.bfe-sticky-offer-banner {
  grid-template-columns: minmax(0,1fr) auto auto auto;
}


@media (max-width: 900px) {
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stats {
    width: calc(100% - 44px);
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat {
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    justify-content: flex-start;
    padding-left: 0 !important;
  }

  .bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat,
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat {
    padding-left: 0 !important;
  }

  .bfe-lead-banners-root[data-bfe-show-dividers="yes"] .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat::before,
  .bfe-utility-deal-bar[data-bfe-mobile-stats-only="yes"] .bfe-utility-stat + .bfe-utility-stat::before {
    display: none;
  }
}


/* v5.0.68 mobile stats left-alignment lock for all lead bars */
@media (max-width: 900px) {
  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stats {
    width: calc(100% - 40px);
    margin: 0 !important;
    gap: 8px 14px;
    justify-content: flex-start !important;
    align-items: flex-start;
  }

  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat {
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    padding-left: 0 !important;
    white-space: normal;
  }

  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat {
    padding-left: 0 !important;
  }

  .bfe-mid-sticky-bar[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before,
  .bfe-hero-deal-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before,
  .bfe-sticky-offer-banner[data-bfe-mobile-stats-only="yes"] .bfe-banner-stat + .bfe-banner-stat::before {
    display: none !important;
  }
}

/* Legacy pre-canonical wizard UI fragments removed in v5.1.13.
   Wizard Builder/specific-step visual styling is now controlled by the
   BFE Wizard Form Shell v1 contract below. */
.bfe-step.bfe-step-condition-unavailable {
  display: none !important;
}
.bfe-admin-step-preview .bfe-step {
  display: block;
}

/* BFE Wizard Form Shell v1 — v5.1.13 production canonicalisation
   Single source of truth for Wizard Builder/imported/specific-step forms.
   Standard BFE multi-step service selector forms are intentionally not targeted. */
body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) {
  --bfe-wizard-shell-contract: v5-0-743;
  --bfe-wizard-choice-min-height: 46px;
  --bfe-wizard-choice-icon-size: 26px;
  --bfe-wizard-choice-check-size: 20px;
  --bfe-wizard-choice-gap: 10px;
  --bfe-wizard-choice-padding-y: 9px;
  --bfe-wizard-choice-padding-x: 12px;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  block-size: auto !important;
  min-block-size: 0 !important;
  max-block-size: none !important;
  display: block !important;
  border-radius: var(--bfe-radius, 20px) !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > :is(.bfe-card-topbar:first-child, .bfe-header-band:first-child) {
  border-top-left-radius: var(--bfe-radius, 20px) !important;
  border-top-right-radius: var(--bfe-radius, 20px) !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step[hidden] {
  display: none !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  block-size: auto !important;
  min-block-size: 0 !important;
  max-block-size: none !important;
  overflow: visible !important;
  gap: 0 !important;
  box-sizing: border-box !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head {
  flex: 0 0 auto !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head :is(h2,h3,.bfe-ui-title) {
  margin: 0 0 6px !important;
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--bfe-ink) !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: var(--bfe-muted) !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-body {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  block-size: auto !important;
  min-block-size: 0 !important;
  max-block-size: none !important;
  overflow: visible !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-actions {
  flex: 0 0 auto !important;
  min-height: 46px !important;
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  background: transparent !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--bfe-wizard-choice-gap) 12px !important;
  align-items: stretch !important;
  align-content: start !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,.bfe-chip-card > span,.bfe-numbered-choice > span) {
  min-height: var(--bfe-wizard-choice-min-height) !important;
  padding: var(--bfe-wizard-choice-padding-y) var(--bfe-wizard-choice-padding-x) !important;
  gap: 9px !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-service-name {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-icon,.bfe-chip-emoji) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--bfe-wizard-choice-icon-size) !important;
  height: var(--bfe-wizard-choice-icon-size) !important;
  inline-size: var(--bfe-wizard-choice-icon-size) !important;
  block-size: var(--bfe-wizard-choice-icon-size) !important;
  min-width: var(--bfe-wizard-choice-icon-size) !important;
  flex-basis: var(--bfe-wizard-choice-icon-size) !important;
  font-size: 13px !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-tile-check {
  width: var(--bfe-wizard-choice-check-size) !important;
  height: var(--bfe-wizard-choice-check-size) !important;
  inline-size: var(--bfe-wizard-choice-check-size) !important;
  block-size: var(--bfe-wizard-choice-check-size) !important;
  min-width: var(--bfe-wizard-choice-check-size) !important;
  flex-basis: var(--bfe-wizard-choice-check-size) !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) :is(input,textarea,select) {
  font-size: 14px !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-grid :is(.bfe-field-wide,.bfe-field-full) {
  grid-column: 1 / -1 !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-step-body .bfe-consent-box {
  display: grid !important;
  gap: 8px !important;
  margin: 14px 0 12px !important;
  padding: 12px !important;
  border: 1px solid var(--bfe-border) !important;
  border-radius: var(--bfe-radius-sm) !important;
  background: var(--bfe-bg) !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-step-body .bfe-check-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  color: var(--bfe-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-step-body .bfe-check-row input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  inline-size: 16px !important;
  block-size: 16px !important;
  min-width: 16px !important;
  margin-top: 2px !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-step-body .bfe-check-row a,
body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-contact-step-body .bfe-consent-box .bfe-req {
  color: var(--bfe-accent, var(--bfe-brand)) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) .bfe-btn {
  min-height: 46px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

@media (max-width: 720px) {
  body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
           form.bfe-unified-wizard-shell,
           form[data-bfe-unified-wizard-shell="1"],
           form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid,.bfe-contact-grid) {
    grid-template-columns: 1fr !important;
  }

  body :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
           form.bfe-unified-wizard-shell,
           form[data-bfe-unified-wizard-shell="1"],
           form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head :is(h2,h3,.bfe-ui-title) {
    font-size: 19px !important;
  }
}

/* BFE Wizard Visual Parity Lock v5.1.13
   Applies the original BhavPro Forms Engine selector rhythm to Wizard Builder/imported/specific-step forms only.
   Keeps category/service colour variables intact. */
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) {
  --bfe-wizard-shell-contract: v5-0-743;
  --bfe-wizard-choice-min-height: 46px;
  --bfe-wizard-choice-icon-size: 26px;
  --bfe-wizard-choice-check-size: 20px;
  --bfe-wizard-choice-gap: 8px;
  width: 100% !important;
  max-width: 560px !important;
  margin-inline: auto !important;
  border-radius: var(--bfe-radius, 20px) !important;
  overflow: hidden !important;
  background: var(--bfe-surface, #fff) !important;
  border: 1px solid var(--bfe-border, #e2e8f0) !important;
  box-shadow: var(--bfe-shadow, 0 8px 32px rgba(9, 18, 38, 0.08)) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-card-topbar {
  padding: 10px 16px 8px !important;
  border-bottom: 1px solid var(--bfe-border, #e2e8f0) !important;
  border-radius: var(--bfe-radius, 20px) var(--bfe-radius, 20px) 0 0 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-browser-dots span {
  width: 20px !important;
  height: 5px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-form-meta,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-form-tag {
  font-size: 11px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-header-band {
  padding: 12px 16px 14px !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, var(--bfe-header, #172554) 0%, color-mix(in srgb, var(--bfe-header, #172554) 82%, var(--bfe-accent, #14b8a6)) 100%) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-header-title {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-progress-track {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
  min-height: 4px !important;
  overflow: hidden !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-progress-track .bfe-progress-segment:nth-of-type(n+4) {
  display: none !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) {
  padding: 15px 16px 16px !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head {
  margin: 0 0 12px !important;
  padding: 0 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head :is(h2,h3,.bfe-ui-title) {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 4px !important;
  color: var(--bfe-text, #0f172a) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-head p {
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  color: var(--bfe-muted, #64748b) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-body {
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,.bfe-chip-card > span,.bfe-numbered-choice > span) {
  min-height: 46px !important;
  padding: 8px 12px !important;
  gap: 9px !important;
  border-radius: var(--bfe-radius-sm, 12px) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-service-name {
  font-size: 12.75px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-icon,.bfe-chip-emoji) {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  flex: 0 0 26px !important;
  border-radius: 7px !important;
  font-size: 12.75px !important;
  color: var(--bfe-tile-brand, var(--bfe-brand, #0f766e)) !important;
  background: linear-gradient(180deg, #f4f7fb 0%, #eaf0f7 100%) !important;
  border: 1px solid var(--bfe-border, #e2e8f0) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice > span::after {
  content: "";
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 6px;
  border: 1.5px solid var(--bfe-border, #e2e8f0);
  background: var(--bfe-surface, #fff);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice input:checked + span::after,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice.is-selected > span::after {
  content: "✓";
  background: var(--bfe-tile-accent, var(--bfe-accent, #14b8a6));
  border-color: var(--bfe-tile-accent, var(--bfe-accent, #14b8a6));
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-tile-check {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  flex-basis: 20px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) > .bfe-step:not([hidden]) > .bfe-step-actions {
  margin-top: 12px !important;
  min-height: 44px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-btn {
  min-height: 44px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-mini-note {
  margin-top: 10px !important;
  font-size: 11.5px !important;
}

@media (max-width: 680px) {
  body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                           form.bfe-unified-wizard-shell,
                           form[data-bfe-unified-wizard-shell="1"],
                           form[data-bfe-canonical-wizard-shell]) {
    max-width: 100% !important;
    border-radius: 14px !important;
  }

  body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                           form.bfe-unified-wizard-shell,
                           form[data-bfe-unified-wizard-shell="1"],
                           form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid,.bfe-contact-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
}

@media (max-width: 520px) {
  body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                           form.bfe-unified-wizard-shell,
                           form[data-bfe-unified-wizard-shell="1"],
                           form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid,.bfe-contact-grid) {
    grid-template-columns: 1fr !important;
  }
}


/* BFE Wizard Compact Choice Card Pattern Lock v5.1.13
   Locks route/radio/multi-select Wizard Builder choice cards to the compact reference pattern:
   two columns, left badge/icon, compact label, right selection indicator, category accent. */
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) {
  --bfe-wizard-shell-contract: v5-0-743;
  --bfe-wizard-choice-row-height: 56px;
  --bfe-wizard-choice-badge-size: 32px;
  --bfe-wizard-choice-check-size: 24px;
  --bfe-wizard-choice-card-radius: 13px;
  --bfe-wizard-choice-gap-x: 10px;
  --bfe-wizard-choice-gap-y: 10px;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--bfe-wizard-choice-gap-y) var(--bfe-wizard-choice-gap-x) !important;
  align-items: stretch !important;
  margin: 0 0 12px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile,.bfe-chip-card,.bfe-numbered-choice) {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,.bfe-chip-card > span,.bfe-numbered-choice > span) {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: var(--bfe-wizard-choice-row-height) !important;
  height: var(--bfe-wizard-choice-row-height) !important;
  padding: 10px 14px !important;
  width: 100% !important;
  border: 1px solid var(--bfe-border, #dbe5f1) !important;
  border-radius: var(--bfe-wizard-choice-card-radius) !important;
  background: var(--bfe-surface, #fff) !important;
  box-shadow: none !important;
  color: var(--bfe-text, #0f172a) !important;
  font-size: 14px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  overflow: hidden !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,.bfe-chip-card > span,.bfe-numbered-choice > span):hover {
  border-color: color-mix(in srgb, var(--bfe-accent, #14b8a6) 38%, var(--bfe-border, #dbe5f1)) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
  transform: translateY(-1px) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile input:checked + .bfe-service-tile-ui,
                                                                   .bfe-chip-card input:checked + span,
                                                                   .bfe-numbered-choice input:checked + span,
                                                                   .bfe-service-tile.is-selected .bfe-service-tile-ui,
                                                                   .bfe-chip-card.is-selected > span,
                                                                   .bfe-numbered-choice.is-selected > span) {
  border-color: var(--bfe-accent, #14b8a6) !important;
  background: color-mix(in srgb, var(--bfe-accent, #14b8a6) 8%, #fff) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bfe-accent, #14b8a6) 14%, transparent) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-icon,.bfe-chip-emoji) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--bfe-wizard-choice-badge-size) !important;
  height: var(--bfe-wizard-choice-badge-size) !important;
  min-width: var(--bfe-wizard-choice-badge-size) !important;
  flex: 0 0 var(--bfe-wizard-choice-badge-size) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #f5f8fc 0%, #eef3f8 100%) !important;
  border: 1px solid var(--bfe-border, #dbe5f1) !important;
  color: var(--bfe-accent, var(--bfe-brand, #14b8a6)) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-service-name {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  color: var(--bfe-text, #0f172a) !important;
  font-size: 14px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-tile-check,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice > span::after {
  content: "" !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--bfe-wizard-choice-check-size) !important;
  height: var(--bfe-wizard-choice-check-size) !important;
  min-width: var(--bfe-wizard-choice-check-size) !important;
  flex: 0 0 var(--bfe-wizard-choice-check-size) !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--bfe-border, #dbe5f1) !important;
  background: #fff !important;
  color: #fff !important;
  box-shadow: none !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile input:checked + .bfe-service-tile-ui .bfe-tile-check,
                                                                   .bfe-service-tile.is-selected .bfe-tile-check,
                                                                   .bfe-numbered-choice input:checked + span::after,
                                                                   .bfe-numbered-choice.is-selected > span::after) {
  content: "✓" !important;
  background: var(--bfe-accent, #14b8a6) !important;
  border-color: var(--bfe-accent, #14b8a6) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile input:checked + .bfe-service-tile-ui .bfe-tile-check svg,
                                                                   .bfe-service-tile.is-selected .bfe-tile-check svg) {
  opacity: 1 !important;
  visibility: visible !important;
  stroke: currentColor !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-tile-check svg {
  width: 13px !important;
  height: 13px !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 720px) {
  body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                           form.bfe-unified-wizard-shell,
                           form[data-bfe-unified-wizard-shell="1"],
                           form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid,.bfe-custom-grid,.bfe-chip-grid,.bfe-contact-grid) {
    grid-template-columns: 1fr !important;
  }
}


/* BFE Wizard Compact Choice Typography Restore v5.1.13
   Keeps the compact two-column choice-card design, but restores normal label typography.
   Scope: Wizard Builder/imported/specific-step forms only. */
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) {
  --bfe-wizard-shell-contract: v5-0-743;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,.bfe-chip-card > span,.bfe-numbered-choice > span) {
  min-height: 52px !important;
  height: 52px !important;
  padding: 9px 14px !important;
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-service-name {
  font-size: 13px !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-icon,.bfe-chip-emoji) {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  flex-basis: 30px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-tile-check,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice > span::after {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  flex-basis: 22px !important;
  border-radius: 7px !important;
}

/* ==========================================================================
   BFE Wizard Choice Renderer v1.1 — v5.1.15
   Applies the compact Step 2 selector pattern to every Wizard Builder choice
   step, including route_select, alternatives, radio_grid, and split requirement
   radio/multi-choice steps. Standard non-wizard forms are intentionally untouched.
   ========================================================================== */
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid.bfe-service-grid-list,
                                                   .bfe-service-grid.bfe-wizard-choice-grid,
                                                   .bfe-chip-grid.bfe-chip-grid-2) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: stretch !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile,
                                                   .bfe-chip-card,
                                                   .bfe-numbered-choice) {
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile-ui,
                                                   .bfe-chip-card > span,
                                                   .bfe-numbered-choice > span) {
  min-height: 52px !important;
  height: 52px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(209, 223, 235, 0.98) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  column-gap: 12px !important;
  text-align: left !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-name,
                                                   .bfe-chip-card > span,
                                                   .bfe-numbered-choice > span) {
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: #06122b !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-icon,
                                                   .bfe-chip-emoji) {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%) !important;
  border: 1px solid rgba(209, 223, 235, 0.98) !important;
  color: var(--bfe-accent, #14b8a6) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-tile-check,
                                                   .bfe-chip-card > span::after,
                                                   .bfe-numbered-choice > span::after) {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(209, 223, 235, 0.98) !important;
  background: #fff !important;
  justify-self: end !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile input:checked + .bfe-service-tile-ui,
                                                   .bfe-chip-card input:checked + span,
                                                   .bfe-service-tile.is-selected .bfe-service-tile-ui,
                                                   .bfe-chip-card.is-selected > span) {
  border-color: color-mix(in srgb, var(--bfe-accent, #14b8a6) 55%, #dbeafe) !important;
  background: color-mix(in srgb, var(--bfe-accent, #14b8a6) 8%, #ffffff) !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-tile input:checked + .bfe-service-tile-ui .bfe-service-icon,
                                                   .bfe-chip-card input:checked + span .bfe-chip-emoji) {
  background: color-mix(in srgb, var(--bfe-accent, #14b8a6) 14%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--bfe-accent, #14b8a6) 30%, #dbeafe) !important;
  color: var(--bfe-accent, #14b8a6) !important;
}

@media (max-width: 720px) {
  :where(form.bfe-specific-steps,
         form.bfe-unified-wizard-shell,
         form[data-bfe-unified-wizard-shell="1"],
         form[data-bfe-canonical-wizard-shell]) :is(.bfe-service-grid.bfe-service-grid-list,
                                                     .bfe-service-grid.bfe-wizard-choice-grid,
                                                     .bfe-chip-grid.bfe-chip-grid-2) {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   BFE Wizard Choice Renderer v1.2 — v5.1.17
   Prevents duplicate right-side selector boxes on split requirement radio_grid
   cards after the service-tile renderer replaced the old chip-card renderer.
   ========================================================================== */
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-service-tile.bfe-numbered-choice > .bfe-service-tile-ui::after,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile > .bfe-service-tile-ui::after {
  content: none !important;
  display: none !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile .bfe-tile-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  grid-column: 3 !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile input:checked + .bfe-service-tile-ui .bfe-tile-check {
  border-color: var(--bfe-accent, #14b8a6) !important;
  background: var(--bfe-accent, #14b8a6) !important;
  color: #fff !important;
}

/* ==========================================================================
   BFE Wizard Choice Renderer v1.3 — v5.1.18
   Deep duplicate selector-box fix.
   Root cause: old high-specificity .bfe-numbered-choice > span::after rules
   still applied to the newer service-tile renderer. The renderer no longer
   adds bfe-numbered-choice to service-tile choice cards, and this CSS also
   hard-disables any legacy pseudo selector if mixed markup is cached.
   ========================================================================== */
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-service-tile.bfe-wizard-choice-tile > .bfe-service-tile-ui::after,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-service-tile.bfe-numbered-choice > .bfe-service-tile-ui::after,
body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile.bfe-numbered-choice > span::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile > .bfe-service-tile-ui {
  grid-template-columns: 34px minmax(0, 1fr) 22px !important;
}

body .bfe-form-shell :is(form.bfe-form-card.bfe-multi-step.bfe-specific-steps,
                         form.bfe-unified-wizard-shell,
                         form[data-bfe-unified-wizard-shell="1"],
                         form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile .bfe-tile-check {
  display: inline-flex !important;
  grid-column: 3 !important;
  justify-self: end !important;
}

/* ===========================================================================
   BFE Wizard Choice Renderer v1.4 — v5.1.19
   Cross-install duplicate selector fix.
   Some pages render the form without .bfe-form-shell or with cached mixed markup.
   This kill-switch is scoped directly to wizard form markers and disables every
   old numbered-choice pseudo selector, leaving only .bfe-tile-check visible.
   =========================================================================== */
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-numbered-choice > span::after,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-chip-card.bfe-numbered-choice > span::after,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-service-tile.bfe-numbered-choice > span::after,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-service-tile.bfe-numbered-choice > .bfe-service-tile-ui::after,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile > .bfe-service-tile-ui::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-wizard-choice-tile .bfe-tile-check,
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-service-tile .bfe-tile-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  flex: 0 0 22px !important;
  justify-self: end !important;
}

/* Emergency guard for CDN/page-builder cached markup where the old chip renderer
   is still present in split requirement steps. It visually reduces old chip cards
   to the same compact service-tile rhythm while suppressing their pseudo check. */
:where(form.bfe-specific-steps,
       form.bfe-unified-wizard-shell,
       form[data-bfe-unified-wizard-shell="1"],
       form[data-bfe-canonical-wizard-shell]) .bfe-chip-card.bfe-numbered-choice > span {
  grid-template-columns: 34px minmax(0, 1fr) 22px !important;
}

/* ==========================================================================
   BhavPro Forms Engine Category/Bundle Grid Parity — v6.2.7
   Category and bundle shortcodes should render service choices in a compact
   two-column grid by default, while still honouring explicit columns="1..4".
   ========================================================================== */
.bfe-type-category .bfe-service-grid.bfe-service-grid-list,
.bfe-type-bundle .bfe-service-grid.bfe-service-grid-list {
  grid-template-columns: repeat(var(--bfe-grid-cols, 2), minmax(0, 1fr));
}

@media (max-width: 420px) {
  .bfe-type-category .bfe-service-grid.bfe-service-grid-list,
  .bfe-type-bundle .bfe-service-grid.bfe-service-grid-list {
    grid-template-columns: 1fr;
  }
}

/* Category Contact Step Field Ordering & Duplicate Guard Lock v6.2.14
   Custom category contact fields render before Notes, with compact two-column
   short fields and full-width long fields. */
.bfe-category-contact-custom-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 0;
}
.bfe-category-contact-custom-grid .bfe-field.bfe-full {
  grid-column: 1 / -1;
}
.bfe-category-contact-notes-grid {
  margin-top: 16px;
}
@media (max-width: 640px) {
  .bfe-category-contact-custom-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   BhavPro Forms Engine Shared Form Runtime Additions v5.0.764
   Generic bfe-forms.css rules only. Form Builder/Blueprint output must use
   the shared shell classes and data attributes, not a separate visual CSS file.
   ========================================================================== */

.bfe-form-shell.bfe-form-runtime {
  /* Runtime forms must not inherit Kadence/WordPress block bottom spacing.
     The form card owns its own internal rhythm; external bottom gaps caused the
     Blueprint/Form Builder CTA + trust area to appear inconsistent. */
  margin: 0 auto !important;
  margin-block: 0 !important;
  padding-bottom: 0 !important;
}

.bfe-form-shell.bfe-form-runtime .bfe-form-card {
  max-width: var(--bfe-form-max-width, 520px);
}

.bfe-form-shell.bfe-layout--wide_form,
.bfe-form-shell.bfe-layout--wide_form .bfe-form-card {
  max-width: var(--bfe-form-max-width, 760px);
}

.bfe-form-shell.bfe-layout--single_column .bfe-step-body {
  grid-template-columns: 1fr;
}

.bfe-preview-area .bfe-form-shell {
  margin-top: 12px;
}


/* BFE runtime bottom-gap lock v5.0.764
   Guard against theme/block wrappers adding the 32px bottom margin around the
   Form Builder runtime shortcode. Keep all visible rhythm inside bfe-forms.css. */
body .bfe-form-shell.bfe-form-runtime,
body div.bfe-form-shell.bfe-form-runtime[data-bfe-form-id][data-bfe-form-mode],
body .entry-content .bfe-form-shell.bfe-form-runtime,
body .wp-site-blocks .bfe-form-shell.bfe-form-runtime,
body .content-area .bfe-form-shell.bfe-form-runtime {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-bottom: 0 !important;
}
body .wp-block-shortcode:has(.bfe-form-shell.bfe-form-runtime),
body .kb-row-layout-wrap:has(.bfe-form-shell.bfe-form-runtime),
body .kt-inside-inner-col:has(.bfe-form-shell.bfe-form-runtime) {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
  padding-bottom: 0 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-form,
.bfe-form-shell.bfe-form-runtime .bfe-form-card {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-form-footer {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}

.bfe-form-shell.bfe-form-runtime .bfe-header-band .bfe-progress-track {
  grid-template-columns: repeat(var(--bfe-step-count, 3), minmax(0, 1fr));
}

.bfe-form-shell.bfe-form-runtime .bfe-progress-bar {
  width: 0;
}

.bfe-form-shell.bfe-form-runtime [data-bfe-step-index][hidden],
.bfe-form-shell.bfe-form-runtime .bfe-hp[hidden],
.bfe-form-shell.bfe-form-runtime .bfe-field[hidden],
.bfe-form-shell.bfe-form-runtime .bfe-field.is-condition-hidden,
.bfe-form-shell.bfe-form-runtime [data-bfe-success][hidden] {
  display: none !important;
}

.bfe-form-shell.bfe-form-runtime .bfe-step {
  padding-bottom: 0;
}

.bfe-form-shell.bfe-form-runtime .bfe-step-body > .bfe-field.bfe-half,
.bfe-form-shell.bfe-form-runtime .bfe-step-body > .bfe-field.bfe-third {
  grid-column: span 1;
}

.bfe-form-shell.bfe-form-runtime .bfe-step-body > .bfe-field.bfe-full,
.bfe-form-shell.bfe-form-runtime .bfe-step-body > .bfe-divider {
  grid-column: 1 / -1;
}

.bfe-form-shell.bfe-form-runtime .bfe-divider {
  border: 0;
  border-top: 1px solid var(--bfe-border);
  width: 100%;
  margin: 8px 0;
}

.bfe-form-shell.bfe-form-runtime input.bfe-input,
.bfe-form-shell.bfe-form-runtime select.bfe-select,
.bfe-form-shell.bfe-form-runtime textarea.bfe-textarea {
  box-shadow: none;
}

.bfe-form-shell.bfe-form-runtime input.bfe-input:not([type="file"]):not([type="date"]):not([type="time"]),
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="email"],
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="tel"],
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="url"],
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="number"] {
  border-radius: 4px;
}

.bfe-form-shell.bfe-form-runtime select.bfe-select:not([multiple]),
.bfe-form-shell.bfe-form-runtime textarea.bfe-textarea,
.bfe-form-shell.bfe-form-runtime .bfe-consent-box,
.bfe-form-shell.bfe-form-runtime .bfe-choice-group .bfe-check-row {
  border-radius: var(--bfe-radius-sm, 12px);
}

.bfe-form-shell.bfe-form-runtime input.bfe-input[type="date"],
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="time"],
.bfe-form-shell.bfe-form-runtime input.bfe-input[type="file"],
.bfe-form-shell.bfe-form-runtime select.bfe-select[multiple] {
  border-radius: 8px;
}

.bfe-form-shell.bfe-form-runtime select.bfe-select[multiple] {
  min-height: 118px;
  padding-block: 8px;
}

.bfe-form-shell.bfe-form-runtime input.bfe-input[type="file"] {
  padding: 8px 12px;
  cursor: pointer;
}

.bfe-date-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bfe-choice-group {
  display: grid;
  gap: 8px;
  width: 100%;
}

.bfe-choice-group .bfe-check-row,
.bfe-rating .bfe-check-row {
  border: 1px solid var(--bfe-border);
  padding: 10px 12px;
  background: var(--bfe-bg);
}

.bfe-choice-group .bfe-check-row:has(input:checked),
.bfe-rating .bfe-check-row:has(input:checked) {
  border-color: var(--bfe-accent);
  background: rgba(20, 184, 166, 0.07);
  background: color-mix(in srgb, var(--bfe-accent) 8%, white);
}

.bfe-rating {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.bfe-rating .bfe-check-row {
  justify-content: center;
  text-align: center;
  padding: 10px 8px;
}

.bfe-form-shell.bfe-form-runtime .bfe-label + .bfe-choice-group,
.bfe-form-shell.bfe-form-runtime .bfe-label + .bfe-rating,
.bfe-form-shell.bfe-form-runtime .bfe-label + .bfe-date-range {
  margin-top: 0;
}


/* Form Builder multi-step control visibility lock v5.0.775
   Author-level .bfe-btn display rules must not override native hidden controls. */
.bfe-form-shell.bfe-form-runtime .bfe-form-footer [hidden],
.bfe-form-shell.bfe-form-runtime button[hidden],
.bfe-form-shell.bfe-form-runtime .bfe-btn[hidden],
.bfe-form-shell.bfe-form-runtime [data-bfe-prev][hidden],
.bfe-form-shell.bfe-form-runtime [data-bfe-next][hidden],
.bfe-form-shell.bfe-form-runtime [data-bfe-submit][hidden] {
  display: none !important;
}

.bfe-form-footer {
  padding: 0 18px 18px;
}

.bfe-form-footer .bfe-step-actions {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.bfe-actions-align--left .bfe-form-footer .bfe-step-actions { justify-content: flex-start; }
.bfe-actions-align--center .bfe-form-footer .bfe-step-actions { justify-content: center; }
.bfe-actions-align--right .bfe-form-footer .bfe-step-actions { justify-content: flex-end; }
.bfe-actions-align--stretch .bfe-form-footer .bfe-step-actions { justify-content: stretch; }
.bfe-form-shell.bfe-form-runtime .bfe-form-footer .bfe-step-actions {
  width: 100%;
}
.bfe-form-shell.bfe-form-runtime .bfe-form-footer .bfe-step-actions .bfe-btn-back {
  flex: 0 0 auto;
  width: auto;
  min-width: 90px;
}
.bfe-actions-align--stretch .bfe-form-footer .bfe-step-actions .bfe-btn-primary:not(.bfe-btn-back),
.bfe-form-runtime:not(.bfe-actions-align--left):not(.bfe-actions-align--center):not(.bfe-actions-align--right) .bfe-form-footer .bfe-step-actions .bfe-btn-primary:not(.bfe-btn-back),
.bfe-form-shell.bfe-form-runtime .bfe-form-footer .bfe-step-actions [data-bfe-next]:not([hidden]),
.bfe-form-shell.bfe-form-runtime .bfe-form-footer .bfe-step-actions [data-bfe-submit]:not([hidden]) {
  flex: 1 1 auto;
  width: auto;
}

.bfe-form-runtime .bfe-step-next::after,
.bfe-form-runtime .bfe-btn-submit::after {
  content: "→";
  display: inline-block;
  font-weight: 900;
  transform: translateY(-1px);
}

.bfe-form-runtime .bfe-form-message:empty,
.bfe-form-runtime .bfe-form-message[hidden],
.bfe-form-runtime .bfe-error-msg:empty,
.bfe-form-runtime .bfe-error-msg[hidden] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.bfe-form-runtime .bfe-form-message:not(:empty):not([hidden]) {
  display: block !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: 1.35 !important;
  font-weight: 700;
}

.bfe-form-runtime .bfe-error-msg:not(:empty):not([hidden]) {
  display: block !important;
  margin: 8px 0 0 !important;
  padding: 9px 12px !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.4 !important;
  overflow: visible !important;
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}


.bfe-sr-required {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.bfe-form-runtime .bfe-required-note {
  display: none !important;
}

.bfe-form-runtime .bfe-req {
  color: #dc2626;
  font-weight: 900;
}

.bfe-form-runtime .bfe-step-error-summary:not([hidden]) {
  display: block;
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-left: 4px solid #dc2626;
  border-radius: 12px;
  background: #fff7f7;
  color: #7f1d1d;
  font-size: 13px;
  line-height: 1.45;
}

.bfe-form-runtime .bfe-step-error-summary ul {
  margin: 6px 0 0 18px;
  padding: 0;
}

.bfe-form-runtime .bfe-step-error-summary:focus-visible {
  outline: 3px solid rgba(220, 38, 38, 0.35);
  outline-offset: 3px;
}

.bfe-form-runtime .bfe-field.bfe-field-error .bfe-input,
.bfe-form-runtime .bfe-field.has-error .bfe-input,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-select,
.bfe-form-runtime .bfe-field.has-error .bfe-select,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-textarea,
.bfe-form-runtime .bfe-field.has-error .bfe-textarea {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important;
}

.bfe-form-runtime .bfe-field.bfe-field-error .bfe-service-grid,
.bfe-form-runtime .bfe-field.has-error .bfe-service-grid,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-chip-grid,
.bfe-form-runtime .bfe-field.has-error .bfe-chip-grid,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-consent-box,
.bfe-form-runtime .bfe-field.has-error .bfe-consent-box {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10) !important;
}

.bfe-form-runtime .bfe-field.bfe-field-error .bfe-service-tile,
.bfe-form-runtime .bfe-field.has-error .bfe-service-tile,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-check-row,
.bfe-form-runtime .bfe-field.has-error .bfe-check-row {
  border-color: #fca5a5;
}

.bfe-form-runtime .bfe-form-message.is-success { color: #15803d; }
.bfe-form-runtime .bfe-form-message.is-error { color: #b91c1c; }

.bfe-form-runtime .bfe-field.bfe-field-error .bfe-choice-group .bfe-check-row,
.bfe-form-runtime .bfe-field.has-error .bfe-choice-group .bfe-check-row,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-rating .bfe-check-row,
.bfe-form-runtime .bfe-field.has-error .bfe-rating .bfe-check-row,
.bfe-form-runtime .bfe-field.bfe-field-error .bfe-consent-box,
.bfe-form-runtime .bfe-field.has-error .bfe-consent-box {
  border-color: #ef4444;
}

.bfe-form-runtime .bfe-trust-note.bfe-mini-note {
  padding: 0;
  margin: 12px 0 0;
}

.bfe-form-runtime .bfe-hp {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.bfe-form-runtime [data-bfe-success] {
  padding: 32px 20px 38px;
}

.bfe-form-runtime [data-bfe-success] .bfe-success-mark {
  color: var(--bfe-brand, #2563eb);
  background: rgba(20, 184, 166, 0.10);
  font-size: 30px;
  line-height: 1;
}

.bfe-form-runtime [data-bfe-success] h3 {
  color: var(--bfe-text);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.bfe-form-runtime [data-bfe-success] p {
  font-size: 14px;
}

.bfe-form-runtime [data-bfe-success] .bfe-success-response,
.bfe-form-runtime [data-bfe-success] .bfe-success-ref {
  color: var(--bfe-text) !important;
  max-width: 100%;
}

.bfe-form-runtime [data-bfe-success] strong {
  font-weight: 800;
}

@media (max-width: 680px) {
  .bfe-form-runtime .bfe-step-body {
    grid-template-columns: 1fr;
  }
  .bfe-form-runtime .bfe-step-body > .bfe-field.bfe-half,
  .bfe-form-runtime .bfe-step-body > .bfe-field.bfe-third {
    grid-column: 1 / -1;
  }
  .bfe-date-range {
    grid-template-columns: 1fr;
  }
  .bfe-rating {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ==========================================================================
   End Shared Form Runtime Additions v5.0.764
   ========================================================================== */


/* ========================================================================
   Pure Subscriber Shortcodes v5.0.769
   Visuals are intentionally shared/minimal: no form shell, no card, no
   Blueprint-specific CSS. Use these inside headers, footers, CTAs and rows.
   ======================================================================== */
.bfe-subscriber-pure {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--bfe-text, #0f172a);
}
.bfe-subscriber-pure,
.bfe-subscriber-pure * { box-sizing: border-box; }
.bfe-subscriber-pure-form { margin: 0; padding: 0; }
.bfe-subscriber-pure-row {
  display: grid;
  gap: 10px;
  align-items: stretch;
  margin: 0;
  padding: 0;
}
.bfe-subscriber-pure--inline .bfe-subscriber-pure-row {
  grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.1fr) max-content;
}
.bfe-subscriber-pure--two-row .bfe-subscriber-pure-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bfe-subscriber-pure--two-row .bfe-subscriber-action { grid-column: 1 / -1; }
.bfe-subscriber-pure .bfe-field,
.bfe-subscriber-pure .bfe-subscriber-action {
  min-width: 0;
  margin: 0;
  padding: 0;
}
.bfe-subscriber-pure .bfe-input {
  width: 100%;
  min-height: 46px;
  height: 46px;
  margin: 0;
  border-radius: 10px;
}
.bfe-subscriber-pure .bfe-btn,
.bfe-subscriber-pure button.bfe-btn,
.bfe-subscriber-pure .bfe-btn-primary,
.bfe-subscriber-pure button.bfe-btn-primary,
.bfe-subscriber-pure .bfe-btn-subscribe {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  height: 46px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: var(--bfe-cta, var(--bfe-accent, var(--bfe-brand, #102950))) !important;
  color: #fff;
  box-shadow: 0 8px 24px rgba(16, 41, 80, 0.22);
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  width: 100%;
  transition: transform var(--bfe-transition, .18s ease), box-shadow var(--bfe-transition, .18s ease), background var(--bfe-transition, .18s ease), opacity var(--bfe-transition, .18s ease);
}
.bfe-subscriber-pure .bfe-btn:hover,
.bfe-subscriber-pure button.bfe-btn:hover,
.bfe-subscriber-pure .bfe-btn-primary:hover,
.bfe-subscriber-pure button.bfe-btn-primary:hover,
.bfe-subscriber-pure .bfe-btn-subscribe:hover {
  background: var(--bfe-brand, var(--bfe-cta, #102950)) !important;
  color: #fff;
  box-shadow: 0 12px 32px rgba(16, 41, 80, 0.28);
  transform: translateY(-1px);
}
.bfe-subscriber-pure .bfe-btn:active,
.bfe-subscriber-pure button.bfe-btn:active,
.bfe-subscriber-pure .bfe-btn-primary:active,
.bfe-subscriber-pure button.bfe-btn-primary:active,
.bfe-subscriber-pure .bfe-btn-subscribe:active {
  transform: translateY(0);
}
.bfe-subscriber-pure--inline .bfe-btn-primary {
  width: auto;
  min-width: 128px;
}
.bfe-subscriber-pure .bfe-form-message,
.bfe-subscriber-pure .bfe-form-message:empty,
.bfe-subscriber-pure .bfe-form-message[hidden],
.bfe-subscriber-pure .bfe-error-msg,
.bfe-subscriber-pure .bfe-error-msg:empty,
.bfe-subscriber-pure .bfe-error-msg[hidden] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.bfe-subscriber-pure .bfe-form-message:not(:empty):not([hidden]) {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.35 !important;
  font-size: 12px;
  font-weight: 700;
}
.bfe-subscriber-pure .bfe-form-message.is-success { color: #15803d; }
.bfe-subscriber-pure .bfe-form-message.is-error { color: #b91c1c; }
.bfe-subscriber-pure .bfe-field.has-error .bfe-input,
.bfe-subscriber-pure .bfe-field.bfe-field-error .bfe-input { border-color: #ef4444; }
.bfe-subscriber-pure .bfe-hp {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.bfe-subscriber-pure-success {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  color: var(--bfe-text, #0f172a);
  font-size: 14px;
  line-height: 1.35;
}
.bfe-subscriber-pure-success[hidden] { display: none !important; }
.bfe-subscriber-pure-success-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bfe-brand, #102950) 12%, transparent);
  color: var(--bfe-brand, #102950);
  font-weight: 900;
  flex: 0 0 auto;
}
@media (max-width: 720px) {
  .bfe-subscriber-pure--inline .bfe-subscriber-pure-row,
  .bfe-subscriber-pure--two-row .bfe-subscriber-pure-row {
    grid-template-columns: 1fr;
  }
  .bfe-subscriber-pure--inline .bfe-btn-primary {
    width: 100%;
    min-width: 0;
  }
}
/* End Pure Subscriber Shortcodes v5.0.769 */



/* Blueprint/Form Builder Wizard Preview Parity Lock v5.0.775
   Blueprint multi-step preview/live output now follows the Wizard Builder preview
   shell contract while keeping submission/conditions in the Form Builder runtime JS. */
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-card {
  max-width: var(--bfe-form-max-width, 560px);
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell > .bfe-step:not([hidden]) {
  padding: 0 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer {
  padding: 0 18px 18px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions {
  min-height: 46px !important;
  margin-top: 0 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head {
  margin: 0 0 14px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head :is(h2,h3,.bfe-ui-title) {
  margin: 0 0 6px !important;
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-service-grid.bfe-wizard-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 12px !important;
  margin-bottom: 0 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-two-col > .bfe-field:has(.bfe-service-grid),
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-two-col > .bfe-field.bfe-field--radio,
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-two-col > .bfe-field.bfe-field--checkbox {
  grid-column: 1 / -1;
}
@media (max-width: 720px) {
  .bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-service-grid.bfe-wizard-choice-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Form Builder success replacement lock v5.0.775 */
.bfe-form-shell.bfe-form-runtime form[hidden],
.bfe-form-shell.bfe-form-runtime .bfe-form[hidden],
.bfe-form-shell.bfe-form-runtime [data-bfe-success][hidden],
.bfe-form-shell.bfe-form-runtime .bfe-step-success[hidden] {
  display: none !important;
}
.bfe-form-shell.bfe-form-runtime.is-submitted .bfe-form-card > form,
.bfe-form-shell.bfe-form-runtime.is-submitted form[data-bfe-runtime-form] {
  display: none !important;
}
.bfe-form-shell.bfe-form-runtime.is-submitted [data-bfe-success]:not([hidden]) {
  display: block !important;
}


/* Form Builder wizard choice parity lock v5.0.775 */
.bfe-form-shell.bfe-form-runtime form[data-bfe-canonical-wizard-shell] .bfe-choice-group.bfe-wizard-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bfe-form-shell.bfe-form-runtime form[data-bfe-canonical-wizard-shell] .bfe-choice-group.bfe-wizard-choice-grid .bfe-service-tile {
  width: 100%;
}


/* Form Builder contact-style multi-step parity lock v5.0.775
   The Multi-Step Intake template must follow the approved enquiry-form rhythm:
   dropdown/select fields, full-width textarea, one grouped consent panel, aligned CTA,
   and a success panel that is never visible before submit. */
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-card {
  max-width: var(--bfe-form-max-width, 650px) !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell {
  max-width: none !important;
  padding: 26px 22px 0 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer {
  padding: 0 0 18px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions {
  width: 100% !important;
  gap: 10px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions [data-bfe-next]:not([hidden]),
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions [data-bfe-submit]:not([hidden]) {
  width: 100% !important;
  flex: 1 1 100% !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions [data-bfe-prev]:not([hidden]) + [data-bfe-next]:not([hidden]),
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions [data-bfe-prev]:not([hidden]) ~ [data-bfe-submit]:not([hidden]) {
  flex: 1 1 auto !important;
  width: auto !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-field--consent-group {
  grid-column: 1 / -1 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-consent-row-field[hidden],
.bfe-form-shell.bfe-form-runtime .bfe-consent-row-field.is-condition-hidden {
  display: none !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-field--consent-group .bfe-consent-box {
  margin: 0 !important;
  gap: 8px !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-field--consent-group .bfe-check-row {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.bfe-form-shell.bfe-form-runtime:not(.is-submitted) [data-bfe-success],
.bfe-form-shell.bfe-form-runtime:not(.is-submitted) .bfe-step-success {
  display: none !important;
}
.bfe-form-shell.bfe-form-runtime.is-submitted [data-bfe-success]:not([hidden]) {
  display: block !important;
}
@media (max-width: 720px) {
  .bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell {
    padding: 22px 20px 0 !important;
  }
}


/* ==========================================================================
   Form Builder shared visual correction lock v5.0.780
   - Prevent import-preview submits from surfacing the raw AJAX "Missing form identifier" state.
   - Restore the softer shared form field border/text rhythm used by Wizard Builder
     and the approved enquiry forms. This is not a Blueprint CSS file; it is the
     shared bfe-forms.css contract used by Wizard, Blueprint/Form Builder and live output.
   ========================================================================== */
.bfe-form-shell.bfe-form-runtime input.bfe-input,
.bfe-form-shell.bfe-form-runtime select.bfe-select,
.bfe-form-shell.bfe-form-runtime textarea.bfe-textarea {
  border: 1px solid var(--bfe-border, #dbe5f1) !important;
  background: var(--bfe-surface, #ffffff) !important;
  color: #1f2a44 !important;
  box-shadow: none !important;
}
.bfe-form-shell.bfe-form-runtime input.bfe-input::placeholder,
.bfe-form-shell.bfe-form-runtime textarea.bfe-textarea::placeholder {
  color: var(--bfe-muted, #7c8da6) !important;
  opacity: .78 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-label {
  color: #071126 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-step-head p,
.bfe-form-shell.bfe-form-runtime .bfe-help-text,
.bfe-form-shell.bfe-form-runtime .bfe-mini-note,
.bfe-form-shell.bfe-form-runtime .bfe-check-row,
.bfe-form-shell.bfe-form-runtime .bfe-consent-box .bfe-check-copy {
  color: var(--bfe-muted, #64748b) !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-choice-group .bfe-check-row,
.bfe-form-shell.bfe-form-runtime .bfe-rating .bfe-check-row,
.bfe-form-shell.bfe-form-runtime .bfe-consent-box {
  border-color: var(--bfe-border, #dbe5f1) !important;
}
.bfe-form-shell.bfe-form-runtime :is(.bfe-service-name,
                                     .bfe-service-tile-ui,
                                     .bfe-chip-card > span,
                                     .bfe-numbered-choice > span) {
  color: #475569 !important;
}
.bfe-form-shell.bfe-form-runtime :is(.bfe-service-tile input:checked + .bfe-service-tile-ui,
                                     .bfe-service-tile.is-selected .bfe-service-tile-ui,
                                     .bfe-chip-card input:checked + span,
                                     .bfe-chip-card.is-selected > span) :is(.bfe-service-name, span) {
  color: #1f2a44 !important;
}
.bfe-form-shell.bfe-form-runtime form[data-bfe-preview-only="1"] .bfe-form-message.is-error:not(:empty):not([hidden]) {
  color: #b45309 !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-header-band .bfe-progress-track {
  grid-template-columns: repeat(var(--bfe-step-count, 3), minmax(0, 1fr)) !important;
}
.bfe-form-shell.bfe-form-runtime .bfe-header-band .bfe-progress-track .bfe-progress-segment {
  display: block !important;
}
/* End Form Builder shared visual correction lock v5.0.780 */

/* ==========================================================================
   Form Builder shared size/rhythm lock v5.0.780
   Keep Blueprint/Form Builder multi-step output visually aligned with the
   approved Wizard/shared form rhythm. This avoids theme/body inheritance and
   the v5.0.776 runtime form appearing larger than the earlier approved form.
   Visual ownership remains in bfe-forms.css only.
   ========================================================================== */
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell {
  font-size: 14px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-card {
  max-width: min(var(--bfe-form-max-width, 620px), 620px) !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-card-topbar {
  padding: 9px 16px 7px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-browser-dots span {
  width: 22px !important;
  height: 5px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-meta,
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-tag {
  font-size: 12px !important;
  line-height: 1.2 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-header-band {
  padding: 13px 22px 15px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-header-title {
  font-size: 15px !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell {
  padding: 22px 18px 0 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head {
  margin: 0 0 12px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head :is(h2,h3,.bfe-ui-title) {
  font-size: 18px !important;
  line-height: 1.22 !important;
  margin-bottom: 5px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-head p {
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-step-body {
  gap: 10px 12px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-field {
  margin-bottom: 10px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-label {
  font-size: 12.75px !important;
  line-height: 1.25 !important;
  margin-bottom: 5px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell :is(.bfe-input,.bfe-select) {
  min-height: 42px !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border-radius: 10px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-textarea {
  min-height: 84px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  border-radius: 12px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-consent-box {
  margin: 0 !important;
  padding: 10px 12px !important;
  gap: 7px !important;
  border-radius: 12px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-check-row {
  font-size: 12px !important;
  line-height: 1.42 !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer {
  padding: 0 0 14px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-footer .bfe-step-actions {
  min-height: 44px !important;
  gap: 10px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-btn {
  min-height: 44px !important;
  font-size: 15px !important;
  border-radius: 12px !important;
}
.bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-trust-note.bfe-mini-note {
  margin-top: 10px !important;
  font-size: 12px !important;
}
@media (max-width: 720px) {
  .bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-form-card {
    max-width: 100% !important;
  }
  .bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell form[data-bfe-runtime-form].bfe-unified-wizard-shell {
    padding: 18px 16px 0 !important;
  }
  .bfe-form-shell.bfe-form-runtime.bfe-runtime-wizard-shell .bfe-header-band {
    padding: 12px 16px 14px !important;
  }
}
/* End Form Builder shared size/rhythm lock v5.0.780 */


/* Blueprint runtime validation/SEO polish v5.0.792 */
.bfe-form-runtime .bfe-noscript-notice {
  display: block;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #f59e0b;
  border-radius: 12px;
  background: #fffbeb;
  color: #92400e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.bfe-form-runtime .bfe-consent-row-field.has-error,
.bfe-form-runtime .bfe-consent-row-field.bfe-field-error {
  border-radius: 12px;
  outline: 2px solid rgba(220, 38, 38, 0.18);
  outline-offset: 4px;
}

.bfe-form-runtime .bfe-consent-row-field.has-error .bfe-check-row,
.bfe-form-runtime .bfe-consent-row-field.bfe-field-error .bfe-check-row {
  color: #7f1d1d;
}

.bfe-form-runtime .bfe-step-error-summary {
  min-height: 0;
}

.bfe-form-runtime .bfe-step-error-summary:not([hidden]) + .bfe-ui-title,
.bfe-form-runtime .bfe-step-error-summary:not([hidden]) ~ .bfe-ui-title {
  margin-top: 10px;
}

.bfe-form-runtime [data-bfe-progressbar] {
  contain: layout paint;
}
