/* JLB Form Builder — Frontend Form Styles */
.jlb-form-wrap {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    max-width: 680px;
    margin: 0 auto;
    color: #333;
}

/* Progress */
.jlb-progress-wrap { margin-bottom: 24px; }
.jlb-progress-bar  { height: 4px; background: #d8d3c6; border-radius: 2px; overflow: hidden; margin-bottom: 6px; }
.jlb-progress-fill { height: 100%; background: #000733; border-radius: 2px; transition: width 0.4s ease; }
.jlb-progress-label { font-size: 12px; color: #888; text-align: right; }

/* Page title */
.jlb-page-title {
    font-size: 20px; font-weight: 700; color: #000733;
    margin-bottom: 20px; padding-bottom: 12px;
    border-bottom: 2px solid #b79b6d;
}

/* Questions */
.jlb-question { margin-bottom: 20px; }
.jlb-label    { display: block; font-size: 15px; font-weight: 500; color: #000733; margin-bottom: 8px; }
.jlb-required { color: #c0392b; margin-left: 3px; }

/* Inputs */
.jlb-input {
    width: 100%; box-sizing: border-box;
    padding: 10px 14px; font-size: 15px;
    border: 1.5px solid #d8d3c6; border-radius: 8px;
    background: #fff; color: #333;
    transition: border-color 0.2s;
}
.jlb-input:focus { outline: none; border-color: #b79b6d; }
.jlb-input.jlb-error { border-color: #c0392b; }
.jlb-textarea { resize: vertical; min-height: 100px; }
.jlb-select   { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }

/* Yes/No */
.jlb-yes-no { display: flex; gap: 10px; }
.jlb-yn-btn {
    flex: 1; padding: 10px; text-align: center; cursor: pointer;
    border: 1.5px solid #d8d3c6; border-radius: 8px; font-size: 15px; font-weight: 500;
    transition: all 0.2s; user-select: none;
}
.jlb-yn-btn input { display: none; }
.jlb-yn-btn.selected { background: #000733; color: #fff; border-color: #000733; }
.jlb-yn-btn:hover:not(.selected) { border-color: #b79b6d; }

/* Single/Multi select */
.jlb-single-select, .jlb-multi-select { display: flex; flex-direction: column; gap: 8px; }
.jlb-opt-btn {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px; border: 1.5px solid #d8d3c6; border-radius: 8px;
    cursor: pointer; font-size: 14px; transition: all 0.2s; user-select: none;
}
.jlb-opt-btn input { position: absolute; opacity: 0; pointer-events: none; }
.jlb-opt-btn::before {
    content: ''; flex-shrink: 0;
    width: 18px; height: 18px; border-radius: 50%;
    border: 2px solid #d8d3c6; transition: all 0.2s;
}
.jlb-multi-select .jlb-opt-btn::before { border-radius: 4px; }
.jlb-opt-btn.selected { border-color: #000733; background: #f7f5f0; }
.jlb-opt-btn.selected::before { background: #000733; border-color: #000733; }
.jlb-opt-btn:hover:not(.selected) { border-color: #b79b6d; }

/* Instruction */
.jlb-instruction { background: #f7f5f0; border-left: 3px solid #b79b6d; border-radius: 6px; padding: 14px 16px; font-size: 14px; line-height: 1.6; color: #555; }

/* Kickout */
.jlb-kickout { background: #fff3f3; border: 1px solid #f8c9c9; border-radius: 8px; padding: 20px; }
.jlb-kickout-msg { color: #c0392b; font-size: 15px; }

/* Signature */
.jlb-signature-wrap { border: 1.5px solid #d8d3c6; border-radius: 8px; overflow: hidden; }
.jlb-signature-canvas { display: block; background: #fff; cursor: crosshair; width: 100%; height: 150px; touch-action: none; }
.jlb-clear-sig { margin: 8px; }

/* Error */
.jlb-field-error { color: #c0392b; font-size: 12px; margin-top: 5px; }

/* Navigation */
.jlb-page-nav { display: flex; gap: 10px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #d8d3c6; }
.jlb-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 22px; border-radius: 8px; font-size: 15px; font-weight: 500; cursor: pointer; border: 1.5px solid transparent; transition: all 0.2s; }
.jlb-btn-primary { background: #000733; color: #fff; border-color: #000733; }
.jlb-btn-primary:hover { background: #000f4a; }
.jlb-btn-ghost    { background: transparent; color: #888; border-color: #d8d3c6; }
.jlb-btn-ghost:hover { background: #f7f5f0; }

/* Success */
.jlb-success { text-align: center; padding: 48px 20px; }
.jlb-success-icon { font-size: 48px; color: #2e7d32; margin-bottom: 16px; }
.jlb-success-msg  { font-size: 18px; color: #333; }

/* Form error */
.jlb-form-error { background: #fff3f3; border: 1px solid #f8c9c9; border-radius: 8px; padding: 12px 16px; color: #c0392b; font-size: 14px; margin-top: 16px; }

/* ── Help text ── */
.jlb-help { font-size: 13px; color: #888; margin-bottom: 8px; margin-top: -4px; }

/* ── Currency ── */
.jlb-currency-wrap { position: relative; display: flex; align-items: center; }
.jlb-currency-symbol { position: absolute; left: 14px; font-size: 15px; color: #000733; font-weight: 600; pointer-events: none; z-index: 2; }
.jlb-form-wrap .jlb-currency,
.jlb-form-wrap input.jlb-currency { padding-left: 32px !important; }

/* ── Date ── */
.jlb-date-wrap { position: relative; display: flex; align-items: center; }
.jlb-date { flex: 1; }
.jlb-date-picker { position: absolute; right: 44px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.jlb-date-btn { position: absolute; right: 8px; background: transparent; border: none; cursor: pointer; font-size: 18px; padding: 4px; }

/* ── File upload list ── */
.jlb-file-list { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.jlb-file-item { font-size: 13px; color: #000733; background: #f7f5f0; border-radius: 5px; padding: 6px 10px; }

/* ── Follow-up questions ── */
.jlb-followup { margin: 10px 0 0 16px; padding-left: 14px; border-left: 3px solid #b79b6d; }
.jlb-followup-label { font-size: 14px; }

/* ── Custom combobox ── */
.jlb-combobox { position: relative; }
.jlb-combobox-input { width: 100%; box-sizing: border-box; padding-right: 36px; }
.jlb-combobox-arrow { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #888; pointer-events: auto; cursor: pointer; font-size: 12px; }
.jlb-combobox-list { display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0; width: 100%; box-sizing: border-box; background: #fff; border: 1.5px solid #d8d3c6; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,7,51,0.12); max-height: 260px; overflow-y: auto; z-index: 50; }
.jlb-combobox-list.open { display: block; }
.jlb-combobox-option { padding: 11px 16px; font-size: 15px; color: #000733; cursor: pointer; border-bottom: 1px solid #f5f3ee; }
.jlb-combobox-option:last-child { border-bottom: none; }
.jlb-combobox-option:hover { background: #f7f5f0; color: #b79b6d; }

/* ── File upload (drag-drop, list, thumbnails) ── */
.jlb-file-drop { display: flex; align-items: center; gap: 14px; padding: 20px; border: 2px dashed #d8d3c6; border-radius: 10px; cursor: pointer; transition: all 0.2s; background: #faf9f6; }
.jlb-file-drop:hover, .jlb-file-drop-over { border-color: #b79b6d; background: #fffdf5; }
.jlb-file-drop-icon { font-size: 28px; color: #b79b6d; line-height: 1; }
.jlb-file-drop-text { font-size: 14px; color: #555; line-height: 1.5; }
.jlb-file-drop-text small { color: #999; font-size: 12px; }

.jlb-file-list { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.jlb-file-item { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid #d8d3c6; border-radius: 8px; background: #fff; }
.jlb-file-thumb { width: 46px; height: 46px; flex-shrink: 0; border-radius: 6px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #f0ede6; }
.jlb-file-thumb img { width: 100%; height: 100%; object-fit: cover; }
.jlb-file-thumb-doc { font-size: 11px; font-weight: 700; color: #000733; letter-spacing: 0.5px; }
.jlb-file-meta { flex: 1; min-width: 0; }
.jlb-file-name { font-size: 13px; color: #000733; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jlb-file-size { font-size: 11px; color: #999; }
.jlb-file-actions { display: flex; gap: 8px; flex-shrink: 0; }
.jlb-file-replace, .jlb-file-remove {
    width: 40px !important; height: 40px !important; min-width: 40px !important;
    box-sizing: border-box !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 !important; margin: 0 !important;
    font-size: 16px !important; line-height: 1 !important;
    border-radius: 8px !important; cursor: pointer !important;
    overflow: hidden !important;
}
.jlb-file-replace { border: 1px solid #d8d3c6 !important; background: #fff !important; color: #000733 !important; }
.jlb-file-replace:hover { background: #b79b6d !important; border-color: #b79b6d !important; color: #fff !important; }
.jlb-file-remove { border: 1px solid #f5d5d0 !important; background: #fdecea !important; color: #c0392b !important; }
.jlb-file-remove:hover { background: #c0392b !important; border-color: #c0392b !important; color: #fff !important; }

/* ── Help fallback after repeated failures ── */
.jlb-help-fallback { margin-top: 16px; padding: 20px; border: 1.5px solid #b79b6d; border-radius: 10px; background: #fffdf5; }
.jlb-help-title { font-size: 16px; font-weight: 700; color: #000733; margin-bottom: 6px; }
.jlb-help-text { font-size: 14px; color: #555; line-height: 1.6; margin: 0 0 14px; }
.jlb-help-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.jlb-help-actions .jlb-btn { text-decoration: none; }
.jlb-help-contact-form { margin-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.jlb-help-contact-form .jlb-label { margin-top: 8px; }

/* ── Full-width dropdown (match combobox width) ── */
.jlb-select { width: 100%; box-sizing: border-box; }

/* ── Consent box ── */
.jlb-consent { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; background: #f7f5f0; border: 1px solid #d8d3c6; border-radius: 8px; cursor: pointer; font-size: 13px; color: #555; line-height: 1.5; }
.jlb-consent input { margin-top: 2px; flex-shrink: 0; accent-color: #000733; width: 16px; height: 16px; }
.jlb-consent-text a { color: #b79b6d; text-decoration: underline; }

/* ── Gold decimals on numbers/currency ── */
.jlb-decimal-gold { color: #b79b6d; }

/* ── Instruction note (light beige) ── */
.jlb-instruction { background: #f7f5f0; border-left: 3px solid #b79b6d; border-radius: 6px; padding: 12px 14px; font-size: 14px; line-height: 1.6; color: #555; margin: 8px 0; }
.jlb-instruction a { color: #b79b6d; }

/* ── Start screen ── */
.jlb-start-screen { padding: 48px 40px; text-align: center; color: #000733; }
.jlb-start-icon { width: 56px; height: 56px; background: #000733; border-radius: 14px; margin: 0 auto 22px; display: flex; align-items: center; justify-content: center; }
.jlb-start-icon svg { width: 28px; height: 28px; color: #b79b6d; }
.jlb-start-display-title { color: #b79b6d; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; margin: 0 0 14px; }
.jlb-start-title-rule { width: 60px; height: 2px; background: #b79b6d; border: none; margin: 0 auto 18px; }
.jlb-start-title { color: #000733; font-size: 26px; font-weight: 700; line-height: 1.25; margin: 0 0 14px; }
.jlb-start-description { color: #555; font-size: 15px; line-height: 1.7; max-width: 480px; margin: 0 auto 28px; }
.jlb-start-description a { color: #b79b6d; text-decoration: underline; }
.jlb-start-btn { background: #000733; color: #fff; border: none; padding: 14px 44px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.2s; display: inline-flex; align-items: center; gap: 8px; }
.jlb-start-btn:hover { background: #1a2350; }

/* ── Review screen ── */
.jlb-review-title { font-size: 22px; font-weight: 700; color: #000733; margin: 0 0 8px; }
.jlb-review-intro { font-size: 14px; color: #888; margin: 0 0 20px; }
.jlb-review-item { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f0ede6; }
.jlb-review-q { font-size: 13px; color: #888; flex: 0 0 45%; }
.jlb-review-a { font-size: 15px; color: #000733; font-weight: 500; flex: 1; word-break: break-word; }
.jlb-review-edit { background: #fff; border: 1px solid #d8d3c6; cursor: pointer; color: #000733; font-size: 14px; flex-shrink: 0; }
.jlb-review-edit:hover { color: #000733; }
.jlb-review-edit-field { margin-top: 8px; }

/* ── Thank-you screen ── */
.jlb-thankyou { background: #000733; border-radius: 12px; padding: 48px 40px; text-align: center; color: #fff; }
.jlb-thankyou-logo { max-width: 180px; margin: 0 auto 20px; display: block; }
.jlb-thankyou-icon { font-size: 44px; color: #b79b6d; margin-bottom: 14px; }
.jlb-thankyou-title { font-size: 26px; font-weight: 700; margin: 0 0 12px; }
.jlb-thankyou-msg { font-size: 15px; color: rgba(255,255,255,0.85); line-height: 1.7; max-width: 480px; margin: 0 auto; }

/* ── Modern buttons (front-end) ── */
.jlb-btn-primary { background: #000733; color: #fff; border: none; padding: 12px 28px; border-radius: 8px; font-weight: 600; }
.jlb-btn-primary:hover { background: #001050; }

/* ── Poppins font ── */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');
.jlb-form-wrap, .jlb-form-wrap * { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif; }
.jlb-form-wrap { font-weight: 400; }

/* ── Spacing above/below the whole form ── */
.jlb-form-wrap { padding: 50px 0; }

/* ── More spacing between questions ── */
.jlb-question { margin-bottom: 40px; }

/* ── Focus border: navy, 1px (override the blue) ── */
.jlb-form-wrap .jlb-input:focus,
.jlb-form-wrap input:focus,
.jlb-form-wrap textarea:focus,
.jlb-form-wrap select:focus {
    outline: none !important;
    border: 1px solid #000733 !important;
    box-shadow: none !important;
}

/* ── Button hover: navy → gold ── */
.jlb-form-wrap .jlb-btn-primary:hover,
.jlb-form-wrap .jlb-next-page:hover,
.jlb-form-wrap .jlb-submit-btn:hover,
.jlb-form-wrap .jlb-review-btn:hover { background: #b79b6d !important; border-color: #b79b6d !important; color: #fff !important; }

/* ── Consent link: match text, just underlined ── */
.jlb-consent-text a { color: inherit !important; font-size: inherit !important; text-decoration: underline !important; }

/* ── Nicer progress bar ── */
.jlb-progress-wrap { margin-bottom: 28px; }
.jlb-progress-bar { height: 8px; background: #f0ede6; border-radius: 20px; overflow: hidden; }
.jlb-progress-fill { height: 100%; background: linear-gradient(90deg, #000733, #b79b6d); border-radius: 20px; transition: width 0.4s ease; }
.jlb-progress-label { margin-top: 8px; font-size: 13px; font-weight: 600; color: #000733; letter-spacing: 0.3px; }

/* ── Nicer review screen ── */
.jlb-review-screen { background: #faf9f6; border: 1px solid #d8d3c6; border-radius: 12px; padding: 24px; }
.jlb-review-item { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #f0ede6; border-radius: 8px; padding: 9px 14px; margin-bottom: 7px; }
.jlb-review-q { color: #333; font-weight: 600; font-size: 13px; flex: 0 0 42%; }
.jlb-review-a { color: #333; font-size: 15px; flex: 1; word-break: break-word; }
.jlb-form-wrap .jlb-review-edit { width: 32px !important; height: 32px !important; flex-shrink: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: #fff !important; border: 1px solid #d8d3c6 !important; border-radius: 6px !important; color: #000733 !important; font-size: 14px !important; cursor: pointer !important; padding: 0 !important; box-shadow: none !important; transition: all 0.15s !important; }
.jlb-form-wrap .jlb-review-edit:hover { border-color: #b79b6d !important; background: #faf7f1 !important; color: #000733 !important; }

/* ── Numbered step progress bar ── */
.jlb-steps { display: flex; align-items: center; justify-content: center; margin-bottom: 0; gap: 0; padding-bottom: 24px; border-bottom: 1px solid #d8d3c6; }
.jlb-steps + * { margin-top: 28px; }
.jlb-step { display: flex; align-items: center; }
.jlb-step-circle { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #d8d3c6; background: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; color: #b0a890; position: relative; transition: all 0.3s; flex-shrink: 0; }
.jlb-step-tick { display: none; color: #fff; font-size: 18px; }
.jlb-step-line { width: 60px; height: 3px; background: #d8d3c6; transition: background 0.3s; }
.jlb-step-line.done { background: #b79b6d; }
/* active step: navy */
.jlb-step.active .jlb-step-circle { border-color: #000733; background: #000733; color: #fff; }
/* completed step: gold with tick */
.jlb-step.done .jlb-step-circle { border-color: #b79b6d; background: #b79b6d; color: #fff; }
.jlb-step.done .jlb-step-num { display: none; }
.jlb-step.done .jlb-step-tick { display: inline; }
@media (max-width: 520px) { .jlb-step-line { width: 28px; } .jlb-step-circle { width: 34px; height: 34px; } }

/* ── Copyright ── */
.jlb-copyright { text-align: center; font-size: 12px; color: #b0a890; margin-top: 40px; padding-top: 16px; }

/* ── Review file thumbnails (row) ── */
.jlb-review-thumbs { display: flex; gap: 6px; flex-wrap: wrap; }
.jlb-review-thumb { width: 40px; height: 40px; border-radius: 6px; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: #f0ede6; border: 1px solid #d8d3c6; }
.jlb-review-thumb img { width: 100%; height: 100%; object-fit: cover; }
.jlb-review-thumb-doc { font-size: 10px; font-weight: 700; color: #000733; }

/* ── Branded form header ── */
.jlb-form-wrap .jlb-form-header { text-align: center !important; margin: 0 0 28px !important; padding: 32px 24px 26px !important; background: #000733 !important; border-radius: 12px !important; }
.jlb-form-wrap .jlb-header-logo { width: 150px !important; max-width: 60% !important; height: auto !important; margin: 0 auto 14px !important; display: block !important; }
.jlb-form-wrap .jlb-header-tagline { color: #b79b6d !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 3px !important; text-transform: uppercase !important; margin: 0 0 18px !important; line-height: 1.4 !important; }
.jlb-form-wrap .jlb-header-line { width: 100% !important; height: 0 !important; border: none !important; border-top: 0.5px solid #b79b6d !important; margin: 0 0 18px !important; opacity: 0.6 !important; }
.jlb-form-wrap .jlb-header-title { color: #ffffff !important; font-size: 24px !important; font-weight: 600 !important; margin: 0 !important; padding: 0 !important; line-height: 1.3 !important; }
.jlb-form-spacer { height: 28px; }

/* ════════════════════════════════════════════════════════
   THEME OVERRIDE HARDENING
   Scoped to .jlb-form-wrap so the active WordPress theme / Elementor
   globals cannot restyle the form. Only properties themes commonly
   hijack are forced.
   ════════════════════════════════════════════════════════ */
.jlb-form-wrap { box-sizing: border-box !important; color: #333 !important; line-height: 1.6 !important; max-width: 720px !important; margin: 0 auto !important; }
.jlb-form-wrap *, .jlb-form-wrap *::before, .jlb-form-wrap *::after { box-sizing: border-box !important; }

/* Labels & question text */
.jlb-form-wrap .jlb-label { color: #000733 !important; font-size: 15px !important; font-weight: 600 !important; display: block !important; margin-bottom: 8px !important; text-transform: none !important; letter-spacing: normal !important; }
.jlb-form-wrap .jlb-help { color: #777 !important; font-size: 13px !important; font-weight: 400 !important; margin-bottom: 8px !important; }

/* Inputs */
.jlb-form-wrap input[type="text"],
.jlb-form-wrap input[type="email"],
.jlb-form-wrap input[type="number"],
.jlb-form-wrap input[type="date"],
.jlb-form-wrap textarea,
.jlb-form-wrap select,
.jlb-form-wrap .jlb-input {
    width: 100% !important; padding: 12px 14px !important; font-size: 15px !important;
    border: 1px solid #d8d3c6 !important; border-radius: 8px !important;
    background: #fff !important; color: #000733 !important; font-family: inherit !important;
    box-shadow: none !important; margin: 0 !important; line-height: 1.4 !important; min-height: 0 !important;
}
.jlb-form-wrap .jlb-input:focus,
.jlb-form-wrap input:focus,
.jlb-form-wrap textarea:focus,
.jlb-form-wrap select:focus { outline: none !important; border: 1px solid #000733 !important; box-shadow: none !important; }

/* Buttons */
.jlb-form-wrap .jlb-btn { font-family: inherit !important; cursor: pointer !important; text-transform: none !important; letter-spacing: normal !important; }
.jlb-form-wrap .jlb-btn-primary,
.jlb-form-wrap .jlb-next-page,
.jlb-form-wrap .jlb-submit-btn,
.jlb-form-wrap .jlb-review-btn { background: #000733 !important; color: #fff !important; border: none !important; padding: 12px 28px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; }
.jlb-form-wrap .jlb-btn-primary:hover,
.jlb-form-wrap .jlb-next-page:hover,
.jlb-form-wrap .jlb-submit-btn:hover,
.jlb-form-wrap .jlb-review-btn:hover { background: #b79b6d !important; color: #fff !important; }
.jlb-form-wrap .jlb-btn-ghost { background: transparent !important; color: #000733 !important; border: 1px solid #d8d3c6 !important; padding: 12px 24px !important; border-radius: 8px !important; }

/* Step circles — protect from theme */
.jlb-form-wrap .jlb-step-circle { box-sizing: border-box !important; }
.jlb-form-wrap .jlb-step.active .jlb-step-circle { background: #000733 !important; border-color: #000733 !important; color: #fff !important; }
.jlb-form-wrap .jlb-step.done .jlb-step-circle { background: #b79b6d !important; border-color: #b79b6d !important; color: #fff !important; }

/* Headings inside the form shouldn't inherit huge theme heading sizes */
.jlb-form-wrap h2 { font-family: inherit !important; }

/* ── Content blocks: Title & Description (plain styling) ── */
.jlb-form-wrap .jlb-block-title { font-size: 18px !important; font-weight: 600 !important; color: #000733 !important; margin: 8px 0 4px !important; line-height: 1.3 !important; }
.jlb-form-wrap .jlb-block-description { font-size: 14px !important; color: #555 !important; line-height: 1.6 !important; margin: 4px 0 !important; }
.jlb-form-wrap .jlb-block-description a { color: #b79b6d !important; text-decoration: underline !important; }
/* content blocks don't need the question bottom spacing doubled */
.jlb-form-wrap .jlb-question[data-type="title"],
.jlb-form-wrap .jlb-question[data-type="description"] { margin-bottom: 16px !important; }

/* ════════════════════════════════════════════════════════
   MODERN REDESIGN (overrides earlier rules — last wins)
   Light-grey backdrop · white card · navy header strip · lighter weights
   ════════════════════════════════════════════════════════ */

/* Outer backdrop: light grey, with the card floating in the middle */
.jlb-form-wrap {
    background: #f4f5f7 !important;
    padding: 32px 16px !important;
    max-width: none !important;
    border-radius: 0 !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: #3a3f4a !important;
    font-weight: 300 !important;
}

/* The white card body — rounded bottom only (header provides the top) */
.jlb-form-wrap .jlb-form-body,
.jlb-form-wrap .jlb-start-screen,
.jlb-form-wrap .jlb-thankyou {
    background: #ffffff !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 14px 40px rgba(0, 7, 51, 0.10) !important;
    overflow: hidden !important;
    padding: 0 !important;
}
/* When the start screen is showing, it's the block right under the header — give it top padding */
.jlb-form-wrap .jlb-start-screen { padding-top: 40px !important; }

/* Inner padding for the body content */
.jlb-form-wrap .jlb-form-body > *:not(.jlb-form-header) { margin-left: 36px !important; margin-right: 36px !important; }
.jlb-form-wrap .jlb-form-body .jlb-form-spacer { margin: 0 !important; height: 18px !important; }

/* Navy header — the TOP of the same continuous card. Rounded top only, no own shadow,
   flush against the white block below it (no gap, no overlap). */
.jlb-form-wrap .jlb-form-header {
    background: #000733 !important;
    text-align: center !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 34px 28px 24px !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -2px 40px rgba(0, 7, 51, 0.10) !important;
    position: relative !important;
    z-index: 1 !important;
}
.jlb-form-wrap .jlb-header-logo {
    width: 170px !important; max-width: 62% !important; height: auto !important;
    margin: 0 auto 16px !important; display: block !important;
}
.jlb-form-wrap .jlb-header-tagline {
    color: #c4ad84 !important; font-size: 11.5px !important; font-weight: 300 !important;
    letter-spacing: 3px !important; text-transform: uppercase !important;
    margin: 0 0 18px !important; line-height: 1.5 !important;
}
.jlb-form-wrap .jlb-header-line {
    width: 100% !important; height: 0 !important; border: none !important;
    border-top: 0.5px solid #b79b6d !important; margin: 0 !important; opacity: 0.55 !important;
}

/* Start screen & thank-you keep their navy look but as a card */
.jlb-form-wrap .jlb-start-screen,
.jlb-form-wrap .jlb-thankyou { padding: 48px 40px !important; }

/* Questions: lighter, airier */
.jlb-form-wrap .jlb-question { margin-bottom: 30px !important; }
.jlb-form-wrap .jlb-label {
    color: #1d2330 !important; font-size: 14.5px !important; font-weight: 500 !important;
    margin-bottom: 9px !important; letter-spacing: 0 !important;
}
.jlb-form-wrap .jlb-required { color: #c0392b !important; font-weight: 400 !important; margin-left: 3px !important; }
.jlb-form-wrap .jlb-help { color: #8a909c !important; font-size: 12.5px !important; font-weight: 300 !important; margin-bottom: 10px !important; }

/* Inputs: thinner border, softer, modern */
.jlb-form-wrap input[type="text"],
.jlb-form-wrap input[type="email"],
.jlb-form-wrap input[type="tel"],
.jlb-form-wrap input[type="number"],
.jlb-form-wrap input[type="date"],
.jlb-form-wrap textarea,
.jlb-form-wrap select,
.jlb-form-wrap .jlb-input {
    border: 1px solid #e4e6eb !important;
    border-radius: 10px !important;
    padding: 13px 15px !important;
    font-size: 14.5px !important;
    font-weight: 300 !important;
    background: #fcfcfd !important;
    color: #1d2330 !important;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s !important;
}
.jlb-form-wrap .jlb-input:focus,
.jlb-form-wrap input:focus,
.jlb-form-wrap textarea:focus,
.jlb-form-wrap select:focus {
    border: 1px solid #000733 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 7, 51, 0.06) !important;
    outline: none !important;
}
.jlb-form-wrap input::placeholder, .jlb-form-wrap textarea::placeholder { color: #b4b9c4 !important; font-weight: 300 !important; }

/* Option buttons (yes/no, single, multi): pill-ish, light */
.jlb-form-wrap .jlb-opt-btn,
.jlb-form-wrap .jlb-yn-btn {
    border: 1px solid #e4e6eb !important; border-radius: 10px !important;
    padding: 12px 16px !important; background: #fcfcfd !important;
    font-weight: 300 !important; color: #1d2330 !important; transition: all 0.15s !important;
}
.jlb-form-wrap .jlb-opt-btn:hover,
.jlb-form-wrap .jlb-yn-btn:hover { border-color: #b79b6d !important; background: #fff !important; }
.jlb-form-wrap .jlb-opt-btn.selected,
.jlb-form-wrap .jlb-yn-btn.selected {
    border-color: #000733 !important; background: #000733 !important; color: #fff !important;
}

/* Buttons: lighter weight, modern radius */
.jlb-form-wrap .jlb-btn {
    border-radius: 10px !important; font-weight: 400 !important; font-size: 14.5px !important;
    padding: 12px 30px !important; letter-spacing: 0.2px !important; transition: all 0.18s !important;
}
.jlb-form-wrap .jlb-btn-primary,
.jlb-form-wrap .jlb-next-page,
.jlb-form-wrap .jlb-submit-btn,
.jlb-form-wrap .jlb-review-btn { background: #000733 !important; color: #fff !important; border: none !important; }
.jlb-form-wrap .jlb-btn-primary:hover,
.jlb-form-wrap .jlb-next-page:hover,
.jlb-form-wrap .jlb-submit-btn:hover,
.jlb-form-wrap .jlb-review-btn:hover { background: #b79b6d !important; }
.jlb-form-wrap .jlb-btn-ghost { background: transparent !important; border: 1px solid #e4e6eb !important; color: #5a6070 !important; font-weight: 300 !important; }
.jlb-form-wrap .jlb-btn-ghost:hover { border-color: #b79b6d !important; color: #1d2330 !important; }

/* Page nav spacing */
.jlb-form-wrap .jlb-page-nav { margin-top: 28px !important; gap: 10px !important; }

/* Step circles: lighter, slimmer */
.jlb-form-wrap .jlb-steps { padding-bottom: 22px !important; border-bottom: 1px solid #eceef2 !important; }
.jlb-form-wrap .jlb-step-circle { width: 36px !important; height: 36px !important; border-width: 1.5px !important; font-weight: 400 !important; }
.jlb-form-wrap .jlb-step-line { height: 2px !important; }

/* Page title (section heading inside a page) */
.jlb-form-wrap .jlb-page-title { font-size: 17px !important; font-weight: 500 !important; color: #1d2330 !important; margin-bottom: 18px !important; }

/* Copyright + bottom spacing sit on the grey backdrop, centered under the card */
.jlb-form-wrap .jlb-copyright { color: #9aa0ad !important; margin-top: 22px !important; font-weight: 300 !important; padding: 0 !important; }

/* Consent box lighter */
.jlb-form-wrap .jlb-consent { background: #f9fafb !important; border: 1px solid #eceef2 !important; font-weight: 300 !important; }

/* Review screen refinements */
.jlb-form-wrap .jlb-review-screen { background: #f9fafb !important; border: 1px solid #eceef2 !important; border-radius: 14px !important; }
.jlb-form-wrap .jlb-review-item { border: 1px solid #eceef2 !important; border-radius: 10px !important; }
.jlb-form-wrap .jlb-review-title { font-weight: 500 !important; }

/* ════════════════════════════════════════════════════════
   REQUESTED REFINEMENTS (latest — overrides above)
   ════════════════════════════════════════════════════════ */

/* 5. FORM WIDTH — header + card share identical width so they stack as one card */
.jlb-form-wrap .jlb-form-header,
.jlb-form-wrap .jlb-form-body,
.jlb-form-wrap .jlb-start-screen,
.jlb-form-wrap .jlb-thankyou {
    width: 90% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
}
@media (max-width: 1024px) {
    .jlb-form-wrap .jlb-form-header,
    .jlb-form-wrap .jlb-form-body,
    .jlb-form-wrap .jlb-start-screen,
    .jlb-form-wrap .jlb-thankyou { width: 94% !important; }
}

/* 1. SPACING — 30px below the Next / page-nav buttons */
.jlb-form-wrap .jlb-page-nav { margin-top: 28px !important; padding-bottom: 30px !important; }

/* 2. DROPDOWN — stylish, brand colours, custom arrow, grey placeholder */
.jlb-form-wrap .jlb-select-wrap { position: relative !important; display: block !important; }
.jlb-form-wrap select.jlb-select {
    -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
    width: 100% !important; padding: 13px 40px 13px 15px !important;
    border: 1px solid #e4e6eb !important; border-radius: 10px !important;
    background: #fcfcfd !important; color: #1d2330 !important; font-weight: 300 !important;
    cursor: pointer !important; transition: border-color 0.15s, background 0.15s !important;
}
.jlb-form-wrap select.jlb-select:hover { background: #f6f1e7 !important; border-color: #b79b6d !important; }
.jlb-form-wrap select.jlb-select:focus { border-color: #000733 !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(0,7,51,0.06) !important; outline: none !important; }
/* grey out the "Select" placeholder when nothing chosen */
.jlb-form-wrap select.jlb-select:invalid,
.jlb-form-wrap select.jlb-select option[value=""] { color: #b4b9c4 !important; }
.jlb-form-wrap select.jlb-select option { color: #1d2330 !important; }
/* custom arrow */
.jlb-form-wrap .jlb-select-arrow {
    position: absolute !important; right: 15px !important; top: 50% !important; transform: translateY(-50%) !important;
    pointer-events: none !important; color: #b79b6d !important; font-size: 12px !important;
}

/* 3. SELECTED OPTION — soft gold tint, gold border, navy text (proposal 2) */
.jlb-form-wrap .jlb-opt-btn.selected,
.jlb-form-wrap .jlb-yn-btn.selected {
    border: 1.5px solid #b79b6d !important;
    background: #f6f1e7 !important;
    color: #000733 !important;
    font-weight: 400 !important;
}
/* recolour the existing dot/box indicator to gold when selected */
.jlb-form-wrap .jlb-opt-btn.selected::before {
    background: #b79b6d !important;
    border-color: #b79b6d !important;
    box-shadow: inset 0 0 0 2px #f6f1e7 !important;
}

/* 4. CURRENCY — € symbol OUTSIDE the box, placed in front */
.jlb-form-wrap .jlb-currency-wrap { display: flex !important; align-items: stretch !important; gap: 0 !important; position: static !important; }
.jlb-form-wrap .jlb-currency-prefix {
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 16px !important; background: #f6f1e7 !important; border: 1px solid #e4e6eb !important;
    border-right: none !important; border-radius: 10px 0 0 10px !important;
    color: #000733 !important; font-weight: 500 !important; font-size: 15px !important;
}
.jlb-form-wrap input.jlb-currency {
    border-radius: 0 10px 10px 0 !important; padding-left: 15px !important; flex: 1 !important;
}

/* ── Redesigned Thank-You screen (navy header + editable content) ── */
.jlb-form-wrap .jlb-thankyou { padding: 0 !important; overflow: hidden !important; }
.jlb-form-wrap .jlb-thankyou .jlb-form-header { margin: 0 0 0 0 !important; }
.jlb-form-wrap .jlb-thankyou-inner { padding: 40px 44px 48px !important; text-align: center !important; }
.jlb-form-wrap .jlb-thankyou-icon {
    width: 64px !important; height: 64px !important; line-height: 64px !important;
    margin: 8px auto 20px !important; border-radius: 50% !important;
    background: #f6f1e7 !important; color: #b79b6d !important; font-size: 30px !important;
}
.jlb-form-wrap .jlb-thankyou-title { font-size: 24px !important; font-weight: 500 !important; color: #000733 !important; margin: 0 0 12px !important; }
.jlb-form-wrap .jlb-thankyou-msg { font-size: 15px !important; font-weight: 300 !important; color: #555 !important; line-height: 1.7 !important; max-width: 480px !important; margin: 0 auto !important; }
.jlb-form-wrap .jlb-thankyou-msg a { color: #b79b6d !important; text-decoration: underline !important; }

/* ── Custom dropdown (Style 1: beige hover, hairline dividers, roomy rows) ── */
.jlb-form-wrap .jlb-custom-select { position: relative !important; width: 100% !important; }
.jlb-form-wrap .jlb-select-trigger {
    width: 100% !important; display: flex !important; align-items: center !important; justify-content: space-between !important;
    padding: 13px 15px !important; border: 1px solid #e4e6eb !important; border-radius: 10px !important;
    background: #fcfcfd !important; color: #1d2330 !important; font-size: 14.5px !important; font-weight: 300 !important;
    font-family: inherit !important; cursor: pointer !important; text-align: left !important; transition: border-color 0.15s, background 0.15s !important;
}
.jlb-form-wrap .jlb-select-trigger:hover { background: #f6f1e7 !important; border-color: #b79b6d !important; }
.jlb-form-wrap .jlb-custom-select.open .jlb-select-trigger { border-color: #000733 !important; background: #fff !important; }
.jlb-form-wrap .jlb-select-label { flex: 1 !important; }
.jlb-form-wrap .jlb-select-placeholder { color: #b4b9c4 !important; }
.jlb-form-wrap .jlb-select-arrow { color: #b79b6d !important; font-size: 12px !important; margin-left: 10px !important; pointer-events: none !important; }
.jlb-form-wrap .jlb-custom-select.open .jlb-select-arrow { transform: rotate(180deg) !important; }

.jlb-form-wrap .jlb-select-list {
    list-style: none !important; margin: 6px 0 0 !important; padding: 0 !important;
    position: relative !important; left: auto !important; right: auto !important; top: auto !important;
    background: #fff !important; border: 1px solid #e4e6eb !important; border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,7,51,0.10) !important; overflow: visible !important;
}
.jlb-form-wrap .jlb-select-option {
    padding: 13px 16px !important; font-size: 14.5px !important; font-weight: 300 !important; color: #1d2330 !important;
    cursor: pointer !important; border-bottom: 1px solid #f0f1f4 !important; transition: background 0.12s, color 0.12s !important;
}
.jlb-form-wrap .jlb-select-option:last-child { border-bottom: none !important; border-radius: 0 0 10px 10px !important; }
.jlb-form-wrap .jlb-select-option:first-child { border-radius: 10px 10px 0 0 !important; }
.jlb-form-wrap .jlb-select-option:hover { background: #f6f1e7 !important; color: #000733 !important; }
.jlb-form-wrap .jlb-select-option.is-placeholder { color: #b4b9c4 !important; }
.jlb-form-wrap .jlb-select-option.is-selected { background: #faf7f1 !important; color: #000733 !important; }

/* ── More breathing room between elements (reduce the clumped feel) ── */
.jlb-form-wrap .jlb-question { margin-bottom: 38px !important; }
.jlb-form-wrap .jlb-label { margin-bottom: 11px !important; }
.jlb-form-wrap .jlb-help { margin-bottom: 12px !important; }
/* more padding inside the white card */
.jlb-form-wrap .jlb-form-body > *:not(.jlb-form-header) { margin-left: 44px !important; margin-right: 44px !important; }
.jlb-form-wrap .jlb-page-title { margin-bottom: 26px !important; margin-top: 6px !important; }
/* gap between stacked option buttons (yes/no, single, multi) */
.jlb-form-wrap .jlb-yes-no { gap: 12px !important; }
.jlb-form-wrap .jlb-single-select,
.jlb-form-wrap .jlb-multi-select { display: flex !important; flex-direction: column !important; gap: 12px !important; }
/* a little more space under the stepper before the first question */
.jlb-form-wrap .jlb-steps { margin-bottom: 30px !important; }
/* breathing room above the page nav buttons */
.jlb-form-wrap .jlb-page-nav { margin-top: 36px !important; }

/* ── Searchable dropdown: search box + no-result row ── */
.jlb-form-wrap .jlb-select-search-wrap { list-style: none !important; padding: 10px 12px !important; border-bottom: 1px solid #f0f1f4 !important; background: #fff !important; border-radius: 10px 10px 0 0 !important; }
.jlb-form-wrap .jlb-select-search {
    width: 100% !important; box-sizing: border-box !important; padding: 9px 12px !important;
    border: 1px solid #e4e6eb !important; border-radius: 8px !important; font-size: 14px !important;
    font-weight: 300 !important; font-family: inherit !important; background: #fcfcfd !important; color: #1d2330 !important;
}
.jlb-form-wrap .jlb-select-search:focus { outline: none !important; border-color: #b79b6d !important; background: #fff !important; }
.jlb-form-wrap .jlb-select-search::placeholder { color: #b4b9c4 !important; }
.jlb-form-wrap .jlb-select-noresult { list-style: none !important; padding: 14px 16px !important; color: #999 !important; font-size: 14px !important; font-style: italic !important; }
/* when searching, the first visible real option shouldn't keep the top radius from the placeholder */
.jlb-form-wrap .jlb-select-search-wrap + .jlb-select-option { border-radius: 0 !important; }

/* ═══════════════════════════════════════════════════════
   PROGRESS BAR (both themes) — replaces numbered stepper
   ═══════════════════════════════════════════════════════ */
.jlb-form-wrap .jlb-progress { margin: 24px 0 24px !important; }
.jlb-form-wrap .jlb-progress-top { display:flex !important; justify-content:space-between !important; align-items:center !important; margin-bottom:9px !important; }
.jlb-form-wrap .jlb-progress-step { font-size:13px !important; color:#7a8194 !important; }
.jlb-form-wrap .jlb-progress-pct { font-size:13px !important; color:#b79b6d !important; font-weight:500 !important; }
.jlb-form-wrap .jlb-progress-track { background:#e7e3d8 !important; height:4px !important; border-radius:3px !important; overflow:hidden !important; }
.jlb-form-wrap .jlb-progress-fill { background:#b79b6d !important; height:100% !important; border-radius:3px !important; transition:width .35s ease !important; }

/* ═══════════════════════════════════════════════════════
   SURVEY THEME
   ═══════════════════════════════════════════════════════ */
.jlb-theme-survey .jlb-form-body { background:transparent !important; }
/* gold title bar under the navy header */
.jlb-theme-survey .jlb-title-bar {
    background:#b79b6d !important; color:#000733 !important; text-align:center !important;
    letter-spacing:3px !important; font-size:14px !important; font-weight:500 !important;
    text-transform:uppercase !important; padding:14px !important; margin:0 0 0 !important;
}
/* progress strip sits on navy in survey theme */
.jlb-theme-survey .jlb-progress { background:#000733 !important; padding:16px 36px 20px !important; margin:0 0 24px !important; }
.jlb-theme-survey .jlb-progress-step { color:#c9cdd9 !important; }
.jlb-theme-survey .jlb-progress-track { background:rgba(255,255,255,0.12) !important; }
/* intro panel (navy message box) */
.jlb-theme-survey .jlb-intro-panel {
    background:#000733 !important; color:#dfe3ec !important; border-radius:8px !important;
    padding:20px 26px !important; text-align:center !important; font-size:14px !important;
    line-height:1.6 !important; margin:0 26px 26px !important;
}
.jlb-theme-survey .jlb-intro-panel strong { color:#b79b6d !important; }
/* Survey theme: questions are NOT individual cards — they sit inside the page card,
   separated by grey dividers (see page-card block below). Kept flat here. */
.jlb-theme-survey .jlb-question {
    background:transparent !important; border-radius:0 !important; padding:0 !important;
    box-shadow:none !important; margin:0 !important;
}
/* content blocks (title/description/section) are not cards */
.jlb-theme-survey .jlb-question[data-type="title"],
.jlb-theme-survey .jlb-question[data-type="description"],
.jlb-theme-survey .jlb-question[data-type="section"] {
    background:transparent !important; box-shadow:none !important; padding:0 !important;
}
.jlb-theme-survey .jlb-page-nav { margin:6px 0 0 !important; }
/* classic theme keeps the white body + intro panel styled lighter */
.jlb-theme-classic .jlb-intro-panel {
    background:#f6f1e7 !important; color:#33384a !important; border:1px solid #e7ddc9 !important;
    border-radius:10px !important; padding:16px 20px !important; margin:0 0 24px !important; font-size:14px !important; line-height:1.6 !important;
}

/* ── Section heading content block (both themes) ── */
.jlb-form-wrap .jlb-block-section {
    display:flex !important; align-items:center !important; gap:12px !important; margin:28px 0 18px !important;
}
.jlb-theme-survey .jlb-block-section { margin:20px 0 18px !important; }
.jlb-form-wrap .jlb-section-icon {
    width:38px !important; height:38px !important; background:#000733 !important; color:#fff !important;
    border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:16px !important; flex:0 0 auto !important;
}
.jlb-form-wrap .jlb-section-title { color:#000733 !important; font-size:21px !important; font-weight:600 !important; }
.jlb-form-wrap .jlb-section-rule { flex:1 !important; border-bottom:1px solid #d8d3c6 !important; }

/* ═══════════════════════════════════════════════════════
   PAGE TITLE — Proposal 1: icon chip + bold title + gold underline
   ═══════════════════════════════════════════════════════ */
.jlb-form-wrap .jlb-page-title {
    display:flex !important; align-items:center !important; gap:12px !important;
    font-size:22px !important; font-weight:600 !important; color:#000733 !important;
    padding-bottom:12px !important; margin:6px 0 24px !important;
    border-bottom:2px solid #b79b6d !important;
}
.jlb-theme-survey .jlb-page-title { margin:0 0 20px !important; }
.jlb-form-wrap .jlb-page-title-icon {
    width:40px !important; height:40px !important; flex:0 0 auto !important;
    background:#000733 !important; color:#fff !important; border-radius:9px !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
}
.jlb-form-wrap .jlb-page-title-icon svg { width:20px !important; height:20px !important; }
.jlb-form-wrap .jlb-page-title-text { line-height:1.2 !important; }

/* ── Page cards: each page/section is a white card ── */
.jlb-form-wrap .jlb-form-body { background: transparent !important; padding: 0 0 40px !important; border-radius: 0 !important; }
.jlb-theme-survey .jlb-form-body { background: transparent !important; }

/* Each page becomes a white card */
.jlb-form-wrap .jlb-page {
    background: #ffffff !important;
    border: 1px solid #e7ddc9 !important;
    border-radius: 10px !important;
    padding: 22px 22px 32px !important;
    margin-bottom: 0 !important;
}

/* Section/page title = gold-underlined header inside the card */
.jlb-form-wrap .jlb-page-title {
    padding-bottom: 16px !important;
    border-bottom: 2px solid #b79b6d !important;
    margin-bottom: 30px !important;
    margin-top: 4px !important;
}

/* Questions: light grey divider between them, none after the last */
.jlb-form-wrap .jlb-page .jlb-question:not([data-type="title"]):not([data-type="description"]):not([data-type="section"]) {
    padding-bottom: 18px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    margin-bottom: 18px !important;
}
.jlb-form-wrap .jlb-page .jlb-question[data-type="title"],
.jlb-form-wrap .jlb-page .jlb-question[data-type="description"],
.jlb-form-wrap .jlb-page .jlb-question[data-type="section"] {
    border-bottom: none !important;
    margin-bottom: 14px !important;
    padding-bottom: 0 !important;
}
/* Remove the divider under the final question just before the page navigation */
.jlb-form-wrap .jlb-page .jlb-question:last-of-type {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
/* Page nav (Back / Next / Submit) sits inside the card with clear space above */
.jlb-form-wrap .jlb-page-nav { margin-top: 24px !important; padding-top: 0 !important; border-top: none !important; }

/* ============================================================
   MOBILE — full-width header + card, stacked options, full-width buttons
   ============================================================ */
@media (max-width: 600px) {
    /* Header + card go edge-to-edge: no side margins, no outer rounding */
    .jlb-form-wrap .jlb-form-header,
    .jlb-form-wrap .jlb-form-body,
    .jlb-form-wrap .jlb-start-screen,
    .jlb-form-wrap .jlb-thankyou {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }
    /* Header: keep top rounding off on mobile (flush to screen top) */
    .jlb-form-wrap .jlb-form-header {
        border-radius: 0 !important;
        padding: 22px 16px 16px !important;
        box-shadow: none !important;
    }
    .jlb-form-wrap .jlb-form-body,
    .jlb-form-wrap .jlb-start-screen,
    .jlb-form-wrap .jlb-thankyou {
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Inner padding: small, so content isn't jammed to the edge but uses the width */
    .jlb-form-wrap .jlb-form-body > *:not(.jlb-form-header) {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
    .jlb-form-wrap .jlb-start-screen { padding: 28px 18px !important; }
    .jlb-form-wrap .jlb-page { padding: 18px 16px 26px !important; }

    /* Progress bar spacing */
    .jlb-form-wrap .jlb-progress { margin: 16px 0 18px !important; }

    /* Option buttons (Yes/No etc.) stack vertically for easy tapping */
    .jlb-form-wrap .jlb-single-select,
    .jlb-form-wrap .jlb-multi-select {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .jlb-form-wrap .jlb-opt-btn {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Full-width navigation + start buttons for easy tapping */
    .jlb-form-wrap .jlb-start-btn,
    .jlb-form-wrap .jlb-next-page,
    .jlb-form-wrap .jlb-prev-page,
    .jlb-form-wrap .jlb-review-btn,
    .jlb-form-wrap .jlb-submit-btn {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    /* Back/Next row stacks so each is full width (Next on top, Back below) */
    .jlb-form-wrap .jlb-page-nav {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 10px !important;
    }

    /* Slightly smaller welcome heading so it fits nicely */
    .jlb-form-wrap .jlb-start-title { font-size: 21px !important; }
    .jlb-form-wrap .jlb-page-title { font-size: 18px !important; }

    /* Header logo scales down */
    .jlb-form-wrap .jlb-header-logo { max-width: 150px !important; height: auto !important; }
}
