/* Styling for the nuaxia Alert Signup survey (Decipher/Forsta Plus,
 * selfserve/3252/260710). Duplicated project from nuaxiaExpress Interest
 * Survey (selfserve/3252/260708) - every rule below is carried over
 * verbatim from express_interest_reveal.css where it was already found,
 * fixed, and verified live (see express_interest.md in this same folder,
 * particularly section 4.20's marker-collapse fix and 4.21's combobox font
 * fix - both included here from the start rather than needing to be
 * rediscovered on this survey too).
 *
 * v8 (2026-07-27): hides the "Survey Completed - Thank You" heading on the
 * post-Finish exit page (h1.exit-message-header) - confirmed live that our
 * own includeCSS/includeJS DO load on that page (it's Decipher's own
 * platform template, not something in this survey's XML, so the heading
 * text itself isn't editable - this is the only lever available to remove
 * it, flagged to the client). `.exit-message-header` is scoped to exit
 * pages specifically, confirmed via live inspection before hiding it.
 *
 * v7 (2026-07-27): .step-layout justify-content fix (see inline comment
 * below) - unrelated to the confirmation-page work, just bundled into the
 * same round of client feedback.
 *
 * v6 (2026-07-27): .nuaxia-inline-list styling for the confirmation page's
 * resend/change-email/junk-folder list (replacing the old italic line, see
 * the JS's v8 note). No other CSS changes needed for this round - the Step
 * 2 restructure and trust-bar gating are XML/JS-only.
 *
 * v4 (2026-07-27): styling for the "Resend confirmation email" / "Change
 * email address" inline links + form on the confirmation page (see the JS's
 * v7 note).
 *
 * v3 (2026-07-27): real bug fix - the hidden .cell-input span (position:
 * absolute, no explicit top/left) was landing on top of the click area per
 * the browser's static-position fallback, intercepting clicks meant for the
 * icon/card padding before they reached anything else (confirmed via
 * elementFromPoint at the exact click coordinates, not guessed). Fixed by
 * pinning it to top:0;left:0 and adding pointer-events:none so it can never
 * intercept a real click - programmatic input.click() forwarding (see the
 * JS's v5 change) is unaffected since that bypasses hit-testing entirely.
 *
 * v1 (2026-07-26): initial build. Trimmed down from the Express Interest
 * source - rules specific to that survey's own fields (contact_title_other,
 * doctor_primaryspecialty_other, the verification-page checkbox label hide,
 * the location info banner, step info-cards) are not included since this
 * survey doesn't have those same features in v1.
 */

/* Collapse every hidden-config marker block to zero footprint - these carry
 * a fieldId:match=target1,target2 string for initSelectToggle() to read and
 * are never meant to be seen. Without this, the outer <html> element's
 * default padding/margin renders as empty space wherever it lands in
 * document order (found and fixed on Express Interest, section 4.20 - built
 * into this survey from the start instead of waiting to rediscover it). */
[id^="comment_toggle_cfg_"]{display:none!important;margin:0!important;padding:0!important;}

/* Full-width bar (background/border only) - inner content capped and
 * centered separately, matching #primary's own cap. */
#nuaxia-survey-header{background:#fff;border-bottom:3px solid #ffa300;font-family:Arial,Helvetica,sans-serif;}
.nuaxia-header-inner{display:flex;align-items:center;gap:16px;padding:16px 24px;max-width:980px;margin:0 auto;box-sizing:border-box;}
.nuaxia-header-inner img{height:28px;width:auto;display:block;}
.nuaxia-header-inner span{color:#26373e;font-size:14px;}
@media (max-width:480px){.nuaxia-header-inner span{display:none;}}

#primary{max-width:980px;margin:0 auto;}

/* Validation error text on its own line below the field, not before the
 * label (Express Interest section 4.15/4.16's fix, applied here from the
 * start). */
.question.select .question-error,.question.text .question-error{order:4;flex:0 0 100%;}
.question.select .reveal-required-msg,.question.text .reveal-required-msg{order:4;flex:0 0 100%;}

/* Dropdown + open-text field rows: label and field side by side, sharing a
 * fixed-width label column so every row aligns regardless of label length. */
.question.select,.question.text{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;}
.question.select .question-text,.question.text .question-text{margin:0;order:1;flex:0 0 240px;width:240px!important;}
.question.select .answers-list,.question.text .answers-list{margin:0;order:2;width:auto!important;max-width:320px;flex:1 1 200px;}
.question.select .answers-list select,.question.text .answers-list input{width:280px!important;max-width:100%;box-sizing:border-box;}
.question.select .instruction-text,.question.text .instruction-text{order:3;flex:0 0 100%;margin-top:-3px;margin-bottom:0;color:#4685bf;font-size:13px;}

@media (max-width:600px){
  .question.select,.question.text{display:block;}
  .question.select .question-text,.question.text .question-text{margin-bottom:8px;width:auto!important;}
  .question.select .answers-list,.question.text .answers-list{max-width:none;}
  .question.select .answers-list select,.question.text .answers-list input{width:100%!important;}
  .nuaxia-combobox .combobox-input,.nuaxia-combobox .combobox-panel{width:100%;}
}

/* Searchable combobox overlay (specialty/country dropdowns). font-family set
 * explicitly (not "inherit") from the start - Express Interest found live
 * that "inherit" can resolve to an unrelated icon font depending on DOM
 * insertion point (section 4.21). Matches a native input's real computed
 * font: "Roboto Condensed Light", sans-serif at 15px. */
.question .answers-list{position:relative;}
.nuaxia-combobox .combobox-input{width:280px;max-width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #ccd0d5;border-radius:4px;font-size:15px;font-family:"Roboto Condensed Light",sans-serif;}
.nuaxia-combobox .combobox-panel{display:none;position:absolute;top:100%;left:0;z-index:50;width:280px;max-width:100%;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #ccd0d5;border-top:none;box-shadow:0 4px 10px rgba(0,0,0,0.08);font-family:"Roboto Condensed Light",sans-serif;}
.nuaxia-combobox .combobox-panel.open{display:block;}
.nuaxia-combobox .combobox-option{padding:6px 8px;cursor:pointer;font-size:15px;}
.nuaxia-combobox .combobox-option.active,.nuaxia-combobox .combobox-option:hover{background:#eef3fb;}
.nuaxia-combobox .combobox-empty{padding:6px 8px;color:#888;font-size:14px;font-style:italic;}

/* Platform-default footer ("Accessibility Statement - Help"). */
.footer{display:none;}

/* Decipher's own post-Finish exit-page heading - see file header's v8 note. */
.exit-message-header{display:none;}

/* Standalone <html> blocks (not real questions) get id="comment_<label>". */
#comment_confirmation{max-width:520px;margin:40px auto;padding:32px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.06);text-align:center;}
#comment_confirmation b{color:#26373e;font-size:20px;}

/* Placeholder-question note (signup_existingcontact_note) - small, muted,
 * clearly not part of the real flowchart copy. */
#question_signup_existingcontact_note{font-style:italic;color:#888;font-size:12px;margin-bottom:8px;}

/* ---- v4 visual polish (2026-07-27) ---- */

/* Step layout: page content + icon card side by side (injectStepCards()). */
/* justify-content:space-between (v7) - on pages with narrow field content
 * (e.g. a single dropdown), flex-grow left the icon card floating with a
 * big empty gap on both sides instead of using the row's full width -
 * flagged live as looking "weird". space-between pushes the card to the
 * row's right edge regardless of how much the fields column itself grows. */
.step-layout{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;}
.step-fields{flex:1 1 380px;min-width:260px;}
.nuaxia-step-card{flex:1 1 260px;min-width:220px;max-width:380px;background:#fff;border:1px solid #e2e5ea;border-radius:10px;padding:clamp(16px,2vw,28px);display:flex;flex-direction:column;gap:clamp(8px,1vw,14px);}
.nuaxia-step-card svg{width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px);stroke:#4685bf;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
/* Real LinkedIn wordmark (2026-07-27) - a wide brand mark, not a square
 * pictogram like the other step icons, so sized by width with auto height
 * instead of forcing a square box. */
.nuaxia-step-card-logo{width:clamp(90px,10vw,130px);height:auto;display:block;}
.nuaxia-step-card p{margin:0;font-size:clamp(13px,1.1vw,16px);line-height:1.5;color:#5b6b73;}
@media (max-width:640px){.nuaxia-step-card{width:100%;max-width:none;margin-top:20px;}}

/* Numbered step badge, prepended to a page's own header text. */
.nuaxia-step-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#26373e;color:#fff;font-size:13px;font-weight:700;font-family:Arial,Helvetica,sans-serif;margin-right:10px;vertical-align:middle;}

/* Choice cards (alert frequency) - .clickableCell rows already toggle their
 * own input on click (existing platform behavior); this only restyles them.
 * The native input/label markup (.cell-input/.cell-text) is hidden, not
 * removed, so the row stays clickable and still submits correctly. */
.nuaxia-choice-group .answers-list{display:flex;gap:14px;flex-wrap:wrap;}
.nuaxia-choice-card{position:relative;flex:1 1 200px;min-width:180px;border:1.5px solid #ccd0d5;border-radius:10px;padding:0;background:#fff;transition:border-color .15s,background .15s;}
/* Decipher's own .cell-sub-wrapper is a tight inline "table" wrap around
 * just the label text natively - stretched here to fill the whole card so
 * the visible card area matches the actually-clickable area (see the JS
 * comment on initChoiceCards() for why this had to move here). */
.nuaxia-choice-card .cell-sub-wrapper{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;height:100%;box-sizing:border-box;padding:16px;cursor:pointer;}
.nuaxia-choice-card .cell-input{position:absolute;top:0;left:0;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none;}
.nuaxia-choice-card .cell-text{display:block;margin-top:8px;font-weight:700;font-size:14px;color:#26373e;font-family:Arial,Helvetica,sans-serif;}
.nuaxia-choice-icon svg{width:24px;height:24px;stroke:#5b6b73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.nuaxia-choice-card::after{content:'';position:absolute;top:14px;right:14px;width:16px;height:16px;border-radius:50%;border:1.5px solid #ccd0d5;box-sizing:border-box;}
.nuaxia-choice-card.selected{border-color:#4685bf;background:#eef3fb;}
.nuaxia-choice-card.selected .nuaxia-choice-icon svg{stroke:#4685bf;}
.nuaxia-choice-card.selected::after{border-color:#4685bf;border-width:5px;}

/* Consent checklist (Step 4) - same hide-native-input approach as the
 * choice cards above, full-width rows instead of side-by-side cards. */
.nuaxia-consent-group .answers-list{display:flex;flex-direction:column;gap:10px;}
.nuaxia-consent-item{position:relative;border:1px solid #e2e5ea;border-radius:8px;background:#f7f9fb;padding:0;}
.nuaxia-consent-item .cell-sub-wrapper{display:flex!important;align-items:flex-start;gap:12px;width:100%;height:100%;box-sizing:border-box;padding:14px 16px;cursor:pointer;}
.nuaxia-consent-item .cell-input{position:absolute;top:0;left:0;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none;}
.nuaxia-consent-item .cell-text{font-size:13.5px;color:#26373e;}
.nuaxia-consent-check{width:20px;height:20px;border-radius:5px;border:1.5px solid #ccd0d5;flex:0 0 auto;margin-top:1px;display:flex;align-items:center;justify-content:center;background:#fff;}
.nuaxia-consent-check svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;}
.nuaxia-consent-item.checked .nuaxia-consent-check{background:#1f9d55;border-color:#1f9d55;}
.nuaxia-consent-item.checked .nuaxia-consent-check svg{opacity:1;}

/* Confirmation checkmark. */
.nuaxia-confirm-check{width:56px;height:56px;border-radius:50%;background:#1f9d55;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;}
.nuaxia-confirm-check svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}

/* Footer trust bar. */
#nuaxia-trust-bar{background:#f7f9fb;border-top:1px solid #e2e5ea;margin-top:32px;}
.nuaxia-trust-inner{max-width:980px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;box-sizing:border-box;}
.nuaxia-trust-inner span{display:flex;align-items:center;gap:9px;font-size:13px;color:#5b6b73;font-family:Arial,Helvetica,sans-serif;}
.nuaxia-trust-inner svg{width:18px;height:18px;stroke:#5b6b73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:640px){.nuaxia-trust-inner{justify-content:flex-start;}}

/* Resend / change-email inline links + form (2026-07-27). List instead of
 * an italicized bullet-separated line, per the mock-up (v6). */
.nuaxia-inline-list{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#26373e;}
.nuaxia-inline-link{color:#4685bf;cursor:pointer;text-decoration:underline;}
.nuaxia-inline-link:hover{color:#26373e;}
.nuaxia-inline-form{align-items:center;gap:6px;}
.nuaxia-inline-form input{padding:5px 8px;border:1px solid #ccd0d5;border-radius:4px;font-size:13px;width:200px;font-family:"Roboto Condensed Light",sans-serif;vertical-align:middle;}
.nuaxia-inline-btn{cursor:pointer;font-size:13px;color:#4685bf;text-decoration:underline;margin-left:6px;}
.nuaxia-inline-btn.secondary{color:#888;}
.nuaxia-inline-status{display:block;margin-top:8px;font-size:13px;color:#1f9d55;}
