/* /list-your-firm/ (lyf): the prop firm application (page-list-your-firm.php,
   inc/list-your-firm.php, js/list-your-firm.js). Built on the firm profile
   layout (firm-profile.css) and the UI kit; fields match the claim form. */
.lyf-page [hidden] { display:none !important; }
.lyf-page .pf-hero { padding-bottom:40px; }
.lyf-page .pf-title { text-wrap:balance; }

/* What you get, in the offer card slot */
.lyf-gets { gap:18px; }
.lyf-page .lyf-gets__title { margin:0; color:var(--ink); font-size:22px; line-height:28px; font-weight:700; letter-spacing:-.01em; }
.lyf-gets__list { display:flex; flex-direction:column; gap:16px; margin:0; padding:0; list-style:none; }
.lyf-gets__list li { display:flex; gap:12px; align-items:flex-start; }
.lyf-gets__tick { display:grid; place-items:center; flex:none; width:24px; height:24px; margin-top:1px; border-radius:50%; background:var(--orange); color:#fff; }
.lyf-gets__tick svg { width:14px; height:14px; }
.lyf-gets__list b { display:block; color:var(--ink); font-size:16px; line-height:22px; font-weight:700; }
.lyf-gets__list span:not(.lyf-gets__tick) { display:block; margin-top:2px; color:var(--ink-3); font-size:15px; line-height:21px; font-weight:500; }
.lyf-page .lyf-gets__claim { margin:0; padding-top:16px; border-top:1px solid var(--hairline); color:var(--ink-3); font-size:15px; line-height:21px; font-weight:500; }
.lyf-gets__claim a, .lyf-private a, .lyf-contact a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.lyf-gets__claim a:hover, .lyf-private a:hover, .lyf-contact a:hover { color:var(--orange); }

/* Layout: form card and side column */
.lyf-layout { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:48px; align-items:start; }
.lyf-form { min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius-20); background:var(--page); scroll-margin-top:150px; }
.lyf-side { position:sticky; top:130px; display:flex; flex-direction:column; gap:16px; }
.lyf-page .lyf-side__title { margin:0; color:var(--ink); font-size:22px; line-height:28px; font-weight:700; letter-spacing:-.01em; }

/* Steps */
.lyf-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:0 0 14px; padding:0; list-style:none; }
.lyf-step { display:flex; align-items:center; gap:10px; min-width:0; color:var(--ink-4); font-size:14px; line-height:18px; font-weight:500; }
.lyf-step__n { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%; background:var(--surface-card); color:var(--ink-3); font-size:14px; font-weight:700; }
.lyf-step__n svg { display:none; width:15px; height:15px; }
.lyf-step__t { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lyf-step.is-current { color:var(--ink); font-weight:700; }
.lyf-step.is-current .lyf-step__n { background:var(--orange); color:#fff; }
.lyf-step.is-done .lyf-step__n { background:var(--ink); color:#fff; }
.lyf-step.is-done .lyf-step__n b { display:none; }
.lyf-step.is-done .lyf-step__n svg { display:block; }
.lyf-progress { height:4px; margin-bottom:32px; border-radius:4px; background:var(--surface-card); overflow:hidden; }
.lyf-progress span { display:block; width:20%; height:100%; border-radius:4px; background:var(--orange); transition:width .3s ease; }

/* Panes */
.lyf-page .lyf-count { margin:0 0 6px; color:var(--ink-3); font-size:15px; line-height:20px; font-weight:500; }
.lyf-page .lyf-pane__title { margin:0; color:var(--ink); font-size:30px; line-height:36px; font-weight:700; letter-spacing:-.02em; }
.lyf-page .lyf-pane__intro { margin:8px 0 28px; max-width:640px; color:var(--ink-3); font-size:17px; line-height:25px; font-weight:500; }
.lyf-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
.lyf-field { grid-column:1 / -1; min-width:0; margin:0; padding:0; border:0; }
.lyf-field--half { grid-column:auto; }
.lyf-reveal, .lyf-private, .lyf-agree { grid-column:1 / -1; }
.lyf-label { display:flex; align-items:baseline; gap:8px; margin:0 0 8px; padding:0; color:var(--ink); font-size:15px; line-height:20px; font-weight:700; }
.lyf-req, .lyf-opt { font-size:13px; font-weight:500; color:var(--ink-3); }
.lyf-opt { color:var(--grey-400); }
.lyf-input { display:block; width:100%; margin:0; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-12); background:var(--page); color:var(--ink); font:500 16px/22px var(--font-sans); box-shadow:none; outline:0; transition:border-color .2s ease; }
.lyf-input::placeholder { color:var(--ink-muted); }
.lyf-area { min-height:110px; resize:vertical; }
.lyf-select { appearance:none; padding-right:40px; background:var(--page) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 18px; }
.lyf-input:hover { border-color:var(--grey-400); }
.lyf-input:focus-visible { border-color:var(--orange); box-shadow:0 0 0 3px #ff6b0026; }
.lyf-page .lyf-hint { margin:6px 0 0; color:var(--ink-3); font-size:13px; line-height:18px; font-weight:500; }
.lyf-field.is-bad .lyf-input { border-color:#c4291c; }
.lyf-field.is-bad .lyf-label::after { content:"Needed"; margin-left:auto; color:#c4291c; font-size:13px; font-weight:700; }

/* Chips */
.lyf-chips { display:flex; flex-wrap:wrap; gap:8px; }
.lyf-chip { position:relative; cursor:pointer; }
.lyf-chip input, .lyf-card input { position:absolute; opacity:0; pointer-events:none; }
.lyf-chip span { display:inline-flex; align-items:center; min-height:40px; padding:9px 16px; border:1px solid var(--line); border-radius:var(--radius-30); background:var(--page); color:var(--ink); font-size:15px; line-height:20px; font-weight:500; transition:border-color .2s ease, background-color .2s ease, color .2s ease; }
.lyf-chip:hover span { border-color:var(--grey-400); }
.lyf-chip input:checked + span { border-color:var(--orange); background:var(--orange); color:#fff; }
.lyf-chip input:focus-visible + span { box-shadow:0 0 0 3px #ff6b0026; }
.lyf-field.is-bad .lyf-chip span { border-color:#e3a19b; }

/* Partnership cards */
.lyf-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lyf-card { position:relative; display:flex; cursor:pointer; }
.lyf-card__box { position:relative; display:flex; flex-direction:column; gap:4px; width:100%; padding:18px 52px 18px 18px; border:1px solid var(--line); border-radius:var(--radius-14); background:var(--page); transition:border-color .2s ease, box-shadow .2s ease; }
.lyf-card__box b { color:var(--ink); font-size:16px; line-height:22px; font-weight:700; }
.lyf-card__box > span:last-child { color:var(--ink-3); font-size:14px; line-height:20px; font-weight:500; }
.lyf-card__tick { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:24px; height:24px; border:1px solid var(--line); border-radius:50%; color:transparent; }
.lyf-card__tick svg { width:14px; height:14px; }
.lyf-card:hover .lyf-card__box { border-color:var(--grey-400); }
.lyf-card input:checked + .lyf-card__box { border-color:var(--orange); box-shadow:0 0 0 1px var(--orange); }
.lyf-card input:checked + .lyf-card__box .lyf-card__tick { border-color:var(--orange); background:var(--orange); color:#fff; }
.lyf-sub { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; padding:24px; border-radius:var(--radius-14); background:var(--surface-card); }
.lyf-sub .lyf-input, .lyf-sub .lyf-chip span { background-color:var(--page); }
.lyf-page .lyf-sub__title { grid-column:1 / -1; margin:0; color:var(--ink); font-size:18px; line-height:24px; font-weight:700; }

/* Upload */
.lyf-drop { position:relative; display:flex; align-items:center; gap:14px; padding:18px; border:1px dashed var(--track); border-radius:var(--radius-14); color:var(--ink-3); font-size:14px; line-height:20px; font-weight:500; cursor:pointer; transition:border-color .2s ease; }
.lyf-drop:hover { border-color:var(--orange); }
.lyf-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.lyf-drop b { color:var(--ink); font-size:16px; font-weight:700; }
.lyf-drop__icon { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:var(--radius-12); background:var(--surface-card); color:var(--ink); }
.lyf-drop__icon svg { width:22px; height:22px; }

.lyf-page .lyf-private { margin:0; padding:14px 16px; border-radius:var(--radius-12); background:var(--surface-card); color:var(--ink-2); font-size:15px; line-height:22px; font-weight:500; }
.lyf-agree { display:flex; gap:12px; align-items:flex-start; padding:16px; border:1px solid var(--line); border-radius:var(--radius-12); color:var(--ink-2); font-size:15px; line-height:22px; font-weight:500; cursor:pointer; }
.lyf-agree input { flex:none; width:20px; height:20px; margin:1px 0 0; accent-color:var(--orange); }
.lyf-agree.is-bad { border-color:#c4291c; }
.lyf-page .lyf-error { margin:22px 0 0; padding:12px 16px; border-radius:var(--radius-12); background:#fdeceb; color:#c4291c; font-size:15px; line-height:21px; font-weight:700; }
.lyf-nav { display:flex; justify-content:space-between; gap:12px; margin-top:32px; padding-top:24px; border-top:1px solid var(--hairline); }
.lyf-nav .spf-btn:only-child { margin-left:auto; }

/* Side column */
.lyf-how__list { display:flex; flex-direction:column; gap:18px; margin:0; padding:0; list-style:none; }
.lyf-how__item { display:flex; gap:14px; }
.lyf-how__n { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%; background:var(--page); color:var(--ink); font-size:14px; font-weight:700; }
.lyf-page .lyf-how__item h3 { margin:3px 0 0; color:var(--ink); font-size:17px; line-height:23px; font-weight:700; }
.lyf-page .lyf-how__item p { margin:3px 0 0; color:var(--ink-3); font-size:15px; line-height:21px; font-weight:500; }
.lyf-page .lyf-contact p { margin:0; color:var(--ink-3); font-size:16px; line-height:23px; font-weight:500; }

/* Done state */
.lyf-page .lyf-done { display:inline-flex; align-items:center; gap:10px; margin:0 0 18px; padding:6px 14px 6px 6px; border-radius:var(--radius-30); background:var(--surface-card); color:var(--ink); font-size:15px; line-height:20px; font-weight:700; }
.lyf-done span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#1f9d55; color:#fff; }
.lyf-done svg { width:15px; height:15px; }
.lyf-done__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.lyf-page .lyf-hero--done { grid-template-columns:minmax(0,820px); }

.lyf-faq { padding:72px 0 80px; }
.lyf-faq .spf-faq { margin-top:24px; }

@media (max-width:1100px){
  .lyf-layout { grid-template-columns:1fr; gap:24px; }
  .lyf-side { position:static; display:grid; grid-template-columns:1fr 1fr; }
  .lyf-step__t { display:none; }
  .lyf-step.is-current .lyf-step__t { display:block; }
  .lyf-steps { display:flex; gap:8px; }
  .lyf-step.is-current { flex:1; }
}
@media (max-width:767px){
  .lyf-form { padding:22px 16px; border-radius:var(--radius-14); }
  .lyf-grid, .lyf-sub, .lyf-cards { grid-template-columns:1fr; }
  .lyf-field--half { grid-column:1 / -1; }
  .lyf-sub { padding:18px 16px; }
  .lyf-page .lyf-pane__title { font-size:24px; line-height:30px; }
  .lyf-page .lyf-pane__intro { font-size:16px; line-height:23px; }
  .lyf-side { grid-template-columns:1fr; }
  .lyf-nav .spf-btn { flex:1; }
  .lyf-done__actions .spf-btn { width:100%; }
  .lyf-faq { padding:48px 0 56px; }
}

/* Honeypot, kept off screen for people */
.lyf-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Without JavaScript every step shows, one under the other */
.lyf-form:not(.is-js) .lyf-steps, .lyf-form:not(.is-js) .lyf-progress, .lyf-form:not(.is-js) [data-next], .lyf-form:not(.is-js) [data-back] { display:none; }
.lyf-form:not(.is-js) .lyf-pane + .lyf-pane { margin-top:40px; padding-top:32px; border-top:1px solid var(--hairline); }
.lyf-form:not(.is-js) .lyf-pane .lyf-nav { display:none; }
.lyf-form:not(.is-js) .lyf-pane:last-child .lyf-nav { display:flex; }
.lyf-page .lyf-error--top { margin:0 0 24px; }
.lyf-form [data-send][disabled] { opacity:.6; cursor:progress; }
.lyf-form--closed .lyf-pane__intro a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* The theme's scripts turn every select into a jQuery nice-select; keep the native ones here */
.lyf-form .nice-select { display:none !important; }
.lyf-form select.lyf-select { display:block !important; }
