/* ═══════════════════════════════════════════════════════
   Compare Business Services — Enterprise v2.5.2
   Premium A+ Grade Production CSS
   ═══════════════════════════════════════════════════════ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-form-tag {
  color: var(--cbs-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
   ═══════════════════════════════════ */
.cbs-header-band {
  position: relative;
  padding: 16px 18px 18px;
  background: linear-gradient(135deg, var(--cbs-header) 0%, #0f294f 100%);
  color: #fff;
}

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-btn {
  appearance: none;
  border: none;
  border-radius: var(--cbs-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(--cbs-transition), box-shadow var(--cbs-transition), background var(--cbs-transition), opacity var(--cbs-transition);
}

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

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

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

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

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

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

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

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

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

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

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

.cbs-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);
}

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

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

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

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

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

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

.cbs-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(--cbs-brand);
  margin-bottom: 14px;
}

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

.cbs-popup-trigger {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: var(--cbs-radius-sm, 12px);
  min-height: 46px;
  padding: 0 20px;
  background: var(--cbs-cta, var(--cbs-accent, var(--cbs-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(--cbs-transition), box-shadow var(--cbs-transition), background var(--cbs-transition), opacity var(--cbs-transition);
}

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

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

.cbs-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: cbs-overlayIn 0.2s ease;
}

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

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

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

@keyframes cbs-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 */
.cbs-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(--cbs-transition);
}

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-form-shell input:not(:focus-visible),
.cbs-form-shell select:not(:focus-visible),
.cbs-form-shell textarea:not(:focus-visible),
.cbs-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) {
  .cbs-type-needs-finder .cbs-form-card {
    max-width: 560px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .cbs-step {
    padding: 14px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-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(--cbs-tile-brand, var(--cbs-brand));
}

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

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

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

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

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

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

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

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

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

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

/* ═══════════════════════════════════
   EXIT-INTENT POPUP (Type 9)
   ═══════════════════════════════════ */
.cbs-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: cbs-overlayIn 0.25s ease;
}

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

.cbs-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: cbs-modalIn 0.3s ease;
}

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

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

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

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

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

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

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

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

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

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

.cbs-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;
}

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

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

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

.cbs-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;
}

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

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

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

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

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

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


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

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

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

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

.cbs-callback-trigger-floating-tab .cbs-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;
}

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

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

.cbs-callback-trigger-floating-tab.cbs-callback-position-bottom-right .cbs-callback-trigger-btn,
.cbs-callback-trigger-floating-tab.cbs-callback-position-bottom-left .cbs-callback-trigger-btn,
.cbs-callback-trigger-floating-tab.cbs-callback-position-bottom-center .cbs-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;
}

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

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

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

.cbs-callback-trigger-floating-button .cbs-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;
}

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

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

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

.cbs-callback-trigger-button .cbs-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;
}

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

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

.cbs-callback-dialog {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  padding: var(--cbs-callback-safe-top) 16px var(--cbs-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;
}

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

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

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

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

button.cbs-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(--cbs-callback-close-bg) !important;
  background-image: none !important;
  color: var(--cbs-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.cbs-callback-close:hover,
button.cbs-callback-close:active,
button.cbs-callback-close:focus-visible {
  background: var(--cbs-callback-close-bg-hover) !important;
  color: var(--cbs-callback-close-color) !important;
}

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

  .cbs-callback-trigger-floating-tab .cbs-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;
  }

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-scheduler-day,
.cbs-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.cbs-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) {
  .cbs-scheduler-days {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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


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

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

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

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

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

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

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

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

  .cbs-callback-dialog,
  .cbs-fa-overlay .cbs-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 */
.cbs-lead-banners-root {
  --cbs-banner-bg: #0f172a;
  --cbs-banner-fg: #ffffff;
  --cbs-banner-soft: rgba(255,255,255,.16);
}

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

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

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

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

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

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

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

.cbs-mid-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9989;
  background: linear-gradient(90deg, var(--cbs-mid-start, #0f7f6f), var(--cbs-mid-end, #2563eb));
  color: var(--cbs-mid-text, #ffffff);
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
  font-family: var(--cbs-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 */
.cbs-mid-sticky-bar[hidden] { display: none !important; }
/* Once JS has initialized, enable transitions */
.cbs-mid-sticky-bar.cbs-bar-ready {
  transition: opacity .24s ease, transform .24s ease;
  will-change: opacity, transform;
}
/* Visible state */
.cbs-mid-sticky-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.cbs-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;
}
.cbs-mid-sticky-copy {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.cbs-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(--cbs-banner-badge-size, 12px);
  font-weight: 700;
  white-space: nowrap;
}
.cbs-mid-sticky-text-wrap { min-width: 0; }
.cbs-mid-sticky-title {
  margin: 0;
  font-size: var(--cbs-mid-title-size, 16px);
  line-height: 1.15;
  color: inherit;
}
.cbs-mid-sticky-text {
  margin: 3px 0 0;
  font-size: var(--cbs-mid-text-size, 14px);
  line-height: 1.35;
  color: inherit;
  opacity: .94;
}
.cbs-mid-sticky-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.cbs-btn-mid {
  background: var(--cbs-mid-btn-bg, #ffffff) !important;
  color: var(--cbs-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(--cbs-mid-button-size, 14px) !important;
  justify-content: center !important;
}
.cbs-utility-deal-bar.cbs-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 .cbs-utility-deal-bar.cbs-top-fixed-bar { top: 32px; }
.cbs-top-fixed-spacer { width: 100%; display: none !important; height:0 !important; }

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


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

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

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

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

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



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

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

.cbs-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}.cbs-debug-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cbs-debug-panel__scope{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.cbs-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)}.cbs-debug-row:first-child{border-top:0}.cbs-debug-row__status{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700}.cbs-debug-row.is-ok .cbs-debug-row__status{background:#14532d;color:#bbf7d0}.cbs-debug-row.is-bad .cbs-debug-row__status{background:#7f1d1d;color:#fecaca}.cbs-debug-row__label{font-weight:700;color:#fff;margin-bottom:3px}.cbs-debug-row__meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#cbd5e1;font-size:12px}.cbs-debug-row__match{margin-top:4px;color:#cbd5e1}.cbs-debug-row code{background:rgba(15,23,42,.8);padding:2px 6px;border-radius:6px;color:#bfdbfe;word-break:break-word}.cbs-debug-panel .button{align-self:center;white-space:nowrap}.cbs-debug-panel__hint{margin-top:10px;color:#94a3b8;font-size:11px}@media (max-width:782px){.cbs-debug-panel{right:10px;left:10px;bottom:10px;width:auto}}

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


/* ═══════════════════════════════════
   EXIT JOURNEYS (ADDITIVE MODULE)
   ═══════════════════════════════════ */
.cbs-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;
}
.cbs-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;
}
.cbs-exit-journey-modal--cta{max-width:520px}
.cbs-exit-journey-modal--survey{max-width:560px}
.cbs-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}.cbs-exit-journey-close:hover,.cbs-exit-journey-close:focus-visible{background:#f1f5f9;border-color:rgba(15,23,42,.2)}.cbs-exit-journey-close svg{display:block;width:18px;height:18px;stroke:currentColor;pointer-events:none}
.cbs-exit-journey-badge,.cbs-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}
.cbs-exit-journey-modal h3{margin:0 0 8px;font-size:28px;line-height:1.18;color:#0f172a}
.cbs-exit-journey-subheadline{margin:0 0 14px;color:#475569;font-size:15px;line-height:1.6}
.cbs-exit-journey-question{font-weight:700;color:#0f172a;margin:12px 0 12px}
.cbs-exit-journey-options{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 16px}
.cbs-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}
.cbs-exit-journey-option:hover,.cbs-exit-journey-option:focus{border-color:var(--cbs-brand,#0f766e);box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.cbs-exit-journey-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.cbs-exit-journey-actions.is-secondary-only{margin-top:0}
.cbs-exit-journey-primary{width:100%;min-height:52px;font-size:16px}
.cbs-exit-journey-secondary{width:100%;border:0;background:transparent;color:#0f766e;font-weight:700;padding:10px 12px}
.cbs-exit-journey-trust{margin-top:10px;font-size:12px;line-height:1.5;color:#64748b}
.cbs-exit-journey-topic{margin:0 0 12px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}
.cbs-exit-journey-topic-line{font-size:13px;line-height:1.55;color:#334155}
.cbs-exit-journey-status{min-height:18px;margin-top:6px;font-size:12px;color:#475569}
.cbs-exit-journey-status.is-success{color:#15803d}
.cbs-exit-journey-status.is-error{color:#b91c1c}
.cbs-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}.cbs-exit-journey-routes.is-runtime-open{left:-99999px!important;width:1px!important;height:1px!important;overflow:visible!important}
@media (max-width: 782px){
  .cbs-exit-journey-overlay{padding:14px;align-items:flex-end}
  .cbs-exit-journey-modal{width:100%;max-width:none;border-radius:22px 22px 0 0;padding:22px 18px 18px}
  .cbs-exit-journey-modal h3{font-size:22px}
  .cbs-exit-journey-subheadline{font-size:14px}
}

/* ═══════════════════════════════════
   REUSABLE FORM SYSTEM — UNIVERSAL POPUP HARDENING
   ═══════════════════════════════════ */
button.cbs-popup-trigger,
button.cbs-popup-close,
button.cbs-exit-close,
button.cbs-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.cbs-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(--cbs-radius-sm, 10px) !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  background: var(--cbs-cta, var(--cbs-accent, var(--cbs-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(--cbs-transition), box-shadow var(--cbs-transition), background var(--cbs-transition), opacity var(--cbs-transition) !important;
}

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

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

button.cbs-popup-close,
button.cbs-exit-close,
button.cbs-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;
}

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

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

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

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

.cbs-popup-close {
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  border-radius: 999px;
  background: var(--cbs-close-bg) !important;
  color: var(--cbs-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;
}

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

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

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

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

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

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

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

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


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

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


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

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

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


.cbs-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;
}


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

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

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

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

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

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

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

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

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

[data-cbs-sticky-shell="1"].cbs-is-sticky {
  position: fixed !important;
  top: var(--cbs-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(--cbs-sticky-nav-z, 9998);
}

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

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

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

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

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


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


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

body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky #masthead,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-header-row-container-inner,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-header-row-container,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-top-header-wrap,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-main-header-wrap,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-bottom-header-wrap,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .kadence-header-row,
body.transparent-header [data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .kadence-sticky-header {
  background: var(--cbs-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-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-primary-header-wrap,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .ast-builder-grid-row-container,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .ast-primary-header-bar,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .ast-primary-header,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .ast-main-header-wrap,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .main-header-bar,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .kt-row-layout-inner,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .site-header-row-container,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .kadence-header-row,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .elementor-section,
[data-cbs-sticky-shell="1"].cbs-sticky-nav-styled.cbs-is-sticky .elementor-container {
  background: transparent !important;
  background-image: none !important;
}

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

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

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

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

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

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


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

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

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

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

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


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

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



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



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

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

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

@media (max-width: 782px) {
  .cbs-fa-overlay .cbs-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));
  }

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

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


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

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

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

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


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

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

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

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