  /* ------------------------------------------------------------------
     ELEMENTOR WRAPPER — baseline 16px so all em values resolve cleanly
     ------------------------------------------------------------------ */
  .tbs-picker {
    font-size: 16px !important;
    font-family: 'DM Sans', 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    color: #2B2D2F;
    line-height: 1.6;
    box-sizing: border-box;
    width: 100%;
    max-width: 70em;
    margin: 0 auto;
    padding: 1em;
    background: #F7F5F2;
    border-radius: 0.75em;
  }
  .tbs-picker *,
  .tbs-picker *::before,
  .tbs-picker *::after { box-sizing: border-box; }

  /* PROGRESS BAR */
  .tbs-progress { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5em; gap: 0.75em; flex-wrap: wrap; }
  .tbs-progress-text { font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.08em; color: #6b6e72; font-weight: 600; }
  .tbs-progress-bar { flex: 1; height: 0.5em; background: #e6e1d8; border-radius: 999px; overflow: hidden; min-width: 8em; }
  .tbs-progress-fill { height: 100%; background: linear-gradient(90deg, #2B2D2F 0%, #C9B99A 100%); border-radius: 999px; transition: width 0.4s ease; width: 0%; }

  /* CARD */
  .tbs-card { background: #FFFFFF; border-radius: 0.75em; padding: 2em 1.5em; box-shadow: 0 0.25em 1.5em rgba(43, 45, 47, 0.06); min-height: 22em; animation: tbs-fade-in 0.35s ease; }
  @keyframes tbs-fade-in { from { opacity: 0; transform: translateY(0.5em); } to { opacity: 1; transform: translateY(0); } }
  .tbs-step-eyebrow { text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8em; font-weight: 700; color: #C9B99A; margin-bottom: 0.5em; }
  .tbs-step-title { font-size: 1.75em; font-weight: 800; line-height: 1.2; margin: 0 0 0.5em 0; color: #2B2D2F; letter-spacing: -0.01em; }
  .tbs-step-subtitle { font-size: 1em; color: #5f6164; margin: 0 0 1.5em 0; line-height: 1.55; }
  .tbs-step-subtitle strong { color: #2B2D2F; }

  /* OPTIONS */
  .tbs-options { display: grid; gap: 0.75em; grid-template-columns: 1fr; }
  .tbs-options.tbs-options-2col { grid-template-columns: 1fr; }
  .tbs-options.tbs-options-3col { grid-template-columns: 1fr; }
  .tbs-option { display: flex; align-items: center; gap: 0.75em; padding: 1em 1.25em; border: 0.125em solid #e6e1d8; border-radius: 0.5em; background: #FFFFFF; cursor: pointer; transition: all 0.18s ease; font-size: 1em; color: #2B2D2F; text-align: left; width: 100%; font-family: inherit; }
  .tbs-option:hover { border-color: #C9B99A; background: #fdfbf7; transform: translateY(-1px); }
  .tbs-option.selected { border-color: #2B2D2F; background: #fdfbf7; box-shadow: 0 0.25em 0.75em rgba(43, 45, 47, 0.08); }
  .tbs-option-marker { width: 1.25em; height: 1.25em; border-radius: 50%; border: 0.15em solid #c9cdd1; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all 0.18s ease; }
  .tbs-option-marker.tbs-square { border-radius: 0.2em; }
  .tbs-option.selected .tbs-option-marker { border-color: #2B2D2F; background: #2B2D2F; }
  .tbs-option.selected .tbs-option-marker::after { content: ''; width: 0.5em; height: 0.5em; background: #FFFFFF; border-radius: 50%; }
  .tbs-option.selected .tbs-option-marker.tbs-square::after { content: ''; width: 0.5em; height: 0.5em; background: #FFFFFF; border-radius: 0.1em; }
  .tbs-option-label { flex: 1; font-weight: 500; }
  .tbs-option-hint { display: block; font-size: 0.85em; color: #6b6e72; font-weight: 400; margin-top: 0.2em; }

  /* MEASUREMENT INPUT BLOCKS */
  .tbs-measure-block { display: grid; grid-template-columns: 1fr; gap: 1.5em; align-items: center; }
  .tbs-measure-diagram { background: #F7F5F2; border-radius: 0.5em; padding: 1em; text-align: center; }
  .tbs-measure-diagram svg { width: 100%; max-width: 18em; height: auto; display: block; margin: 0 auto; }
  .tbs-measure-input-wrap { display: flex; flex-direction: column; gap: 0.5em; }
  .tbs-measure-input-label { font-weight: 600; font-size: 0.95em; color: #2B2D2F; }
  .tbs-measure-input-help { font-size: 0.85em; color: #6b6e72; margin-bottom: 0.25em; }
  .tbs-measure-input { width: 100%; padding: 0.85em 1em; border: 0.125em solid #e6e1d8; border-radius: 0.5em; font-size: 1.15em; font-family: inherit; color: #2B2D2F; background: #FFFFFF; transition: border-color 0.18s ease; }
  .tbs-measure-input:focus { outline: none; border-color: #2B2D2F; }
  .tbs-measure-input::placeholder { color: #b5b8bb; }

  /* CHECKBOX GRID */
  .tbs-features-grid { display: grid; grid-template-columns: 1fr; gap: 0.6em; }
  .tbs-features-note { background: #f7f5f2; border-left: 0.25em solid #C9B99A; padding: 1em 1.25em; border-radius: 0.4em; margin-bottom: 1.25em; font-size: 0.92em; color: #2B2D2F; }
  .tbs-features-note strong { display: block; margin-bottom: 0.4em; }
  .tbs-features-note ul { margin: 0; padding-left: 1.25em; color: #5f6164; }
  .tbs-features-note li { margin-bottom: 0.1em; }

  /* CONTACT FORM */
  .tbs-contact-grid { display: grid; grid-template-columns: 1fr; gap: 1em; }
  .tbs-contact-field { display: flex; flex-direction: column; gap: 0.35em; }
  .tbs-contact-field label { font-weight: 600; font-size: 0.9em; }
  .tbs-contact-field label .tbs-required { color: #C9B99A; }
  .tbs-contact-field input { padding: 0.85em 1em; border: 0.125em solid #e6e1d8; border-radius: 0.5em; font-size: 1em; font-family: inherit; color: #2B2D2F; background: #FFFFFF; }
  .tbs-contact-field input:focus { outline: none; border-color: #2B2D2F; }
  .tbs-contact-skip { font-size: 0.85em; color: #6b6e72; text-align: center; margin-top: 0.5em; }
  .tbs-contact-skip a { color: #2B2D2F; text-decoration: underline; cursor: pointer; }

  /* NAV BUTTONS */
  .tbs-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 2em; gap: 0.75em; flex-wrap: wrap; }
  .tbs-btn { padding: 0.85em 1.75em; border-radius: 0.5em; font-size: 1em; font-weight: 600; cursor: pointer; font-family: inherit; transition: all 0.18s ease; border: 0.125em solid transparent; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5em; line-height: 1; }
  .tbs-btn-primary { background: #2B2D2F; color: #FFFFFF; }
  .tbs-btn-primary:hover { background: #1a1c1e; transform: translateY(-1px); box-shadow: 0 0.5em 1em rgba(43, 45, 47, 0.18); }
  .tbs-btn-primary:disabled { background: #c9cdd1; cursor: not-allowed; transform: none; box-shadow: none; }
  .tbs-btn-secondary { background: transparent; color: #2B2D2F; border-color: #c9cdd1; }
  .tbs-btn-secondary:hover { border-color: #2B2D2F; background: #fdfbf7; }

  /* ERROR */
  .tbs-error { color: #b54a36; font-size: 0.88em; margin-top: 0.4em; display: none; }
  .tbs-error.show { display: block; }

  /* RESULTS PAGE */
  .tbs-results-summary { background: #F7F5F2; border-radius: 0.5em; padding: 1.25em 1.5em; margin-bottom: 1.5em; font-size: 0.92em; }
  .tbs-results-summary-title { font-weight: 700; margin-bottom: 0.5em; color: #2B2D2F; }
  .tbs-results-summary-row { display: inline-block; background: #FFFFFF; padding: 0.3em 0.75em; border-radius: 999px; font-size: 0.85em; margin: 0.2em 0.3em 0.2em 0; border: 0.06em solid #e6e1d8; color: #2B2D2F; }
  .tbs-results-summary-row strong { color: #2B2D2F; }
  .tbs-results-section-title { font-size: 1.25em; font-weight: 800; margin: 1.5em 0 0.75em 0; color: #2B2D2F; padding-bottom: 0.5em; border-bottom: 0.125em solid #e6e1d8; }
  .tbs-results-section-title .tbs-pill { display: inline-block; background: #2B2D2F; color: #FFFFFF; font-size: 0.6em; padding: 0.25em 0.6em; border-radius: 999px; margin-left: 0.5em; vertical-align: middle; letter-spacing: 0.05em; font-weight: 600; }
  .tbs-results-section-title .tbs-pill.tbs-pill-warm { background: #C9B99A; color: #2B2D2F; }

  .tbs-product-grid { display: grid; grid-template-columns: 1fr; gap: 1.25em; }
  .tbs-product-card { background: #FFFFFF; border-radius: 0.5em; padding: 1.25em; border: 0.125em solid #e6e1d8; display: flex; flex-direction: column; gap: 0.85em; transition: all 0.2s ease; }
  .tbs-product-card:hover { border-color: #C9B99A; transform: translateY(-2px); box-shadow: 0 0.5em 1.5em rgba(43, 45, 47, 0.1); }
  .tbs-product-image-wrap { width: 100%; aspect-ratio: 1 / 1; background: #F7F5F2; border-radius: 0.4em; overflow: hidden; position: relative; }
  .tbs-product-image-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .tbs-product-brand { font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.1em; color: #C9B99A; font-weight: 700; }
  .tbs-product-name { font-size: 1.15em; font-weight: 800; color: #2B2D2F; margin: 0; line-height: 1.25; }
  .tbs-product-variant { font-size: 0.88em; color: #6b6e72; margin: 0; }
  .tbs-product-meta { display: flex; flex-wrap: wrap; gap: 0.35em; margin-top: 0.35em; }
  .tbs-product-tag { font-size: 0.72em; padding: 0.25em 0.6em; background: #F7F5F2; color: #2B2D2F; border-radius: 999px; border: 0.06em solid #e6e1d8; }
  .tbs-product-tag.tbs-product-tag-accent { background: #2B2D2F; color: #FFFFFF; border-color: #2B2D2F; }
  .tbs-product-price { font-size: 1.1em; font-weight: 700; color: #2B2D2F; margin-top: 0.25em; }
  .tbs-product-cta { display: inline-block; background: #2B2D2F; color: #FFFFFF; text-align: center; padding: 0.75em 1em; border-radius: 0.5em; text-decoration: none; font-weight: 600; margin-top: auto; transition: all 0.18s ease; }
  .tbs-product-cta:hover { background: #1a1c1e; transform: translateY(-1px); }

  .tbs-results-empty { background: #FFFFFF; border-radius: 0.5em; padding: 2em 1.5em; text-align: center; border: 0.125em dashed #e6e1d8; }
  .tbs-results-empty h3 { margin: 0 0 0.5em 0; color: #2B2D2F; font-size: 1.2em; }
  .tbs-results-empty p { margin: 0 0 1em 0; color: #5f6164; }

  /* HELP BANNER */
  .tbs-help-banner { background: linear-gradient(135deg, #2B2D2F 0%, #3a3d40 100%); color: #FFFFFF; border-radius: 0.75em; padding: 1.5em; margin-top: 1.5em; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1em; }
  .tbs-help-banner-text { flex: 1; min-width: 14em; }
  .tbs-help-banner-text h4 { margin: 0 0 0.25em 0; font-size: 1.1em; font-weight: 700; color: #FFFFFF; }
  .tbs-help-banner-text p { margin: 0; font-size: 0.92em; opacity: 0.85; }
  .tbs-help-banner-actions { display: flex; flex-wrap: wrap; gap: 0.5em; }
  .tbs-help-banner-btn { background: #FFFFFF; color: #2B2D2F; padding: 0.7em 1.25em; border-radius: 0.4em; text-decoration: none; font-weight: 600; font-size: 0.92em; display: inline-flex; align-items: center; gap: 0.4em; transition: all 0.18s ease; }
  .tbs-help-banner-btn:hover { background: #C9B99A; color: #2B2D2F; transform: translateY(-1px); }
  .tbs-help-banner-btn.tbs-secondary { background: transparent; border: 0.125em solid rgba(255,255,255,0.4); color: #FFFFFF; }
  .tbs-help-banner-btn.tbs-secondary:hover { background: rgba(255,255,255,0.1); color: #FFFFFF; }

  /* INTRO */
  .tbs-intro-hero { text-align: center; padding: 1em 0 0.5em; }
  .tbs-intro-hero h2 { font-size: 2em; font-weight: 800; margin: 0 0 0.5em 0; color: #2B2D2F; letter-spacing: -0.02em; line-height: 1.15; }
  .tbs-intro-hero p { font-size: 1.05em; color: #5f6164; max-width: 32em; margin: 0 auto 1.5em; line-height: 1.55; }
  .tbs-intro-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75em; margin: 1.5em 0; }
  .tbs-intro-stat { background: #F7F5F2; border-radius: 0.5em; padding: 0.85em; text-align: center; }
  .tbs-intro-stat-val { font-size: 1.4em; font-weight: 800; color: #2B2D2F; display: block; }
  .tbs-intro-stat-label { font-size: 0.78em; color: #6b6e72; text-transform: uppercase; letter-spacing: 0.06em; }

  /* RESPONSIVE — TABLET */
  @media (min-width: 48em) {
    .tbs-picker { padding: 2em; }
    .tbs-card { padding: 2.5em; }
    .tbs-step-title { font-size: 2em; }
    .tbs-options.tbs-options-2col { grid-template-columns: 1fr 1fr; }
    .tbs-options.tbs-options-3col { grid-template-columns: 1fr 1fr; }
    .tbs-features-grid { grid-template-columns: 1fr 1fr; }
    .tbs-measure-block { grid-template-columns: 1fr 1.3fr; gap: 2em; }
    .tbs-contact-grid { grid-template-columns: 1fr 1fr; }
    .tbs-contact-field.tbs-full { grid-column: span 2; }
    .tbs-product-grid { grid-template-columns: 1fr 1fr; }
    .tbs-intro-stats { grid-template-columns: repeat(4, 1fr); }
    .tbs-intro-hero h2 { font-size: 2.4em; }
  }
  /* RESPONSIVE — DESKTOP */
  @media (min-width: 80em) {
    .tbs-options.tbs-options-3col { grid-template-columns: 1fr 1fr 1fr; }
    .tbs-features-grid { grid-template-columns: 1fr 1fr 1fr; }
    .tbs-product-grid { grid-template-columns: 1fr 1fr 1fr; }
    .tbs-intro-hero h2 { font-size: 2.6em; }
  }
