/* Thelansis Careers — front-end styles.
   Each "@component" block below is also copied into the matching Elementor
   widget (Advanced → Custom CSS) in the page template. If you style the page in
   Elementor, turn off "Load plugin CSS" in Careers → Settings so the two do not mix. */

/*@ base */
.tlc {
  --tlc-navy: #0B1F3A;
  --tlc-ink: #33445C;
  --tlc-muted: #4A5A70;
  --tlc-line: #DCE3EC;
  --tlc-soft: #F3F6FA;
  --tlc-orange: #F7861D;
  --tlc-orange-d: #E5730C;
  --tlc-rust: #B35600;
  --tlc-peach: #FEF0E2;
  --tlc-cream: #FFFAF4;
  --tlc-red: #B42318;
  --tlc-green: #1E6B43;
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--tlc-navy);
  width: 100%;
}
.tlc, .tlc *, .tlc *::before, .tlc *::after { box-sizing: border-box; }
.tlc [hidden] { display: none !important; }
.tlc h2, .tlc h3, .tlc h4, .tlc p { font-family: inherit; }
.tlc button { font-family: inherit; letter-spacing: 0; text-transform: none; line-height: 1.2; }
.tlc :focus-visible { outline: 3px solid var(--tlc-rust); outline-offset: 2px; }
.tlc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tlc-ic { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
@keyframes tlcSwap { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.tlc-anim { animation: tlcSwap .4s cubic-bezier(.2,.7,.2,1) both; }

/* Shared buttons */
.tlc .tlc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 22px; border: 0 !important; border-radius: 12px !important;
  background: var(--tlc-orange) !important; color: #FFFFFF !important;
  font-size: 16px; font-weight: 800; cursor: pointer; text-decoration: none !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.tlc .tlc-btn:hover { filter: brightness(.94); transform: translateY(-1px); box-shadow: 0 12px 24px -14px rgba(143,69,0,.7); }
.tlc .tlc-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 16px; border-radius: 10px !important;
  border: 1.5px solid var(--tlc-line) !important; background: #FFFFFF !important; color: var(--tlc-navy) !important;
  font-size: 15px; font-weight: 800; cursor: pointer; text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease;
}
.tlc .tlc-btn-ghost:hover { border-color: var(--tlc-rust) !important; background: var(--tlc-peach) !important; }
.tlc .tlc-link { color: var(--tlc-rust) !important; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; background: none; border: 0; padding: 0; cursor: pointer; font-size: 15px; }
.tlc .tlc-link:hover { color: #8F4500 !important; }
.tlc .tlc-round {
  width: 44px; height: 44px; border-radius: 50% !important; padding: 0 !important;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--tlc-line) !important; background: #FFFFFF !important; color: var(--tlc-navy) !important; cursor: pointer;
}
.tlc .tlc-round:disabled { opacity: .4; cursor: default; }
.tlc .tlc-round:not(:disabled):hover { border-color: var(--tlc-rust) !important; }

/* Shared form fields */
.tlc .tlc-input, .tlc .tlc-select,
.tlc-apply .wpcf7 input[type="text"], .tlc-apply .wpcf7 input[type="email"], .tlc-apply .wpcf7 input[type="tel"],
.tlc-apply .wpcf7 input[type="url"], .tlc-apply .wpcf7 select, .tlc-apply .wpcf7 textarea {
  width: 100% !important; min-height: 50px; margin: 0 !important; padding: 0 14px !important;
  border: 1.5px solid #B9C5D4 !important; border-radius: 12px !important; background: #FFFFFF !important;
  color: var(--tlc-navy) !important; font: inherit !important; font-size: 15px !important; box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease; outline: 0;
}
.tlc-apply .wpcf7 textarea { min-height: 110px; padding: 12px 14px !important; line-height: 1.55 !important; resize: vertical; }
.tlc .tlc-input:focus, .tlc .tlc-select:focus,
.tlc-apply .wpcf7 input:focus, .tlc-apply .wpcf7 select:focus, .tlc-apply .wpcf7 textarea:focus {
  border-color: var(--tlc-navy) !important; box-shadow: 0 0 0 3px rgba(247,134,29,.35) !important;
}

/*@ search */
.tlc-search { display: flex; flex-direction: column; gap: 16px; max-width: 620px; }
.tlc-searchbar { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; border-radius: 18px; background: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.tlc-searchbar label { flex: 999 1 240px; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 12px; color: var(--tlc-muted); margin: 0; }
.tlc .tlc-searchbar input {
  flex: 1; min-width: 0; min-height: 52px; border: none !important; outline: none; background: transparent !important;
  font: inherit; font-size: 16px; color: var(--tlc-navy) !important; box-shadow: none !important; padding: 0 !important; margin: 0;
}
.tlc .tlc-searchbar input::placeholder { color: #5E6E84; }
.tlc-searchbar .tlc-btn { flex: 1 1 150px; min-height: 52px; }

/*@ featured */
.tlc-featured { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 22px; border: 1px solid var(--tlc-line); background: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.tlc-feat-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tlc .tlc-feat-head h2 { margin: 0 !important; font-size: 18px !important; font-weight: 800 !important; color: var(--tlc-navy) !important; line-height: 1.3 !important; }
.tlc-badge { padding: 6px 12px; border-radius: 999px; background: var(--tlc-peach); color: #8F4500; font-size: 13px; font-weight: 800; white-space: nowrap; }
.tlc-feat-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.tlc-feat-list li { margin: 0 !important; }
.tlc .tlc-feat {
  width: 100%; display: flex; align-items: center; gap: 14px; padding: 14px 16px !important; border-radius: 14px !important;
  border: 1px solid var(--tlc-line) !important; background: var(--tlc-soft) !important; color: var(--tlc-navy) !important; text-align: left; cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.tlc .tlc-feat:hover { border-color: var(--tlc-orange) !important; background: var(--tlc-cream) !important; transform: translateX(2px); }
.tlc-feat > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.tlc-feat strong { font-size: 15px; font-weight: 800; line-height: 1.3; }
.tlc-feat small { font-size: 13px; color: var(--tlc-muted); font-weight: 600; }
.tlc-feat .tlc-ic { color: var(--tlc-rust); }

/*@ pathroles */
.tlc-pathroles { display: flex; flex-direction: column; gap: 14px; }
.tlc-pathroles .tlc-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--tlc-muted); }
.tlc-path-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, calc((100% - 28px) / 3)); gap: 14px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
.tlc .tlc-mini {
  scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; padding: 18px !important; border-radius: 16px !important;
  border: 1px solid var(--tlc-line) !important; background: #FFFFFF !important; color: var(--tlc-navy) !important; text-align: left; cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tlc .tlc-mini:hover { border-color: var(--tlc-orange) !important; transform: translateY(-3px); box-shadow: 0 22px 40px -26px rgba(11,31,58,.5); }
.tlc-team { font-size: 13px; font-weight: 800; color: var(--tlc-rust); line-height: 1.3; }
.tlc-mini strong { font-size: 17px; font-weight: 800; line-height: 1.3; }
.tlc-mini small { font-size: 14px; color: var(--tlc-muted); font-weight: 600; }
.tlc-mini em { font-style: normal; margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; color: var(--tlc-rust); }
.tlc-pathroles p { margin: 0; color: var(--tlc-muted); }
@media (max-width: 1024px) { .tlc-path-strip { grid-auto-columns: minmax(250px, 46%); } }
@media (max-width: 680px) { .tlc-path-strip { grid-auto-columns: minmax(240px, 85%); } }

/*@ roles */
.tlc-roles { display: flex; flex-direction: column; gap: 20px; }
.tlc-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; padding: 12px; border-radius: 18px; background: var(--tlc-soft); }
.tlc-filters label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 14px; font-weight: 800; color: var(--tlc-navy); }
.tlc-roles-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.tlc-count { font-size: 15px; font-weight: 800; color: var(--tlc-navy); }
.tlc-roles-bar .tlc-link { font-size: 14px; }
.tlc .tlc-saved-btn { min-height: 44px; }
.tlc .tlc-saved-btn.is-on { border-color: var(--tlc-orange) !important; background: var(--tlc-peach) !important; }
.tlc-board { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 18px; align-items: start; }
.tlc-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.tlc-list li { margin: 0 !important; position: relative; }
.tlc .tlc-item {
  width: 100%; display: flex; flex-direction: column; gap: 4px; padding: 16px 52px 16px 16px !important; border-radius: 14px !important;
  border: 1.5px solid var(--tlc-line) !important; background: #FFFFFF !important; color: var(--tlc-navy) !important; text-align: left; cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.tlc .tlc-item:hover { border-color: #B9C5D4 !important; }
.tlc .tlc-item.is-on { border-color: var(--tlc-orange) !important; background: var(--tlc-cream) !important; }
.tlc-item strong { font-size: 17px; font-weight: 800; line-height: 1.3; }
.tlc-item small { font-size: 14px; color: var(--tlc-muted); font-weight: 600; margin-top: 4px; }
.tlc .tlc-bookmark {
  position: absolute; top: 12px; right: 10px; width: 36px; height: 36px; border-radius: 10px !important; padding: 0 !important;
  border: 0 !important; background: transparent !important; color: var(--tlc-rust) !important; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.tlc .tlc-bookmark:hover { background: var(--tlc-peach) !important; }
.tlc-bookmark[aria-pressed="true"] svg { fill: var(--tlc-orange); }
.tlc-detail { position: sticky; top: 100px; padding: 24px; border-radius: 22px; border: 1px solid var(--tlc-line); background: #FFFFFF; box-shadow: 0 30px 60px -45px rgba(11,31,58,.5); display: flex; flex-direction: column; gap: 16px; }
.tlc .tlc-detail h3 { margin: 0 !important; font-size: 26px !important; font-weight: 800 !important; letter-spacing: -0.02em; line-height: 1.2 !important; color: var(--tlc-navy) !important; }
.tlc-detail .tlc-team { letter-spacing: .08em; text-transform: uppercase; }
.tlc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tlc-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--tlc-soft); font-size: 13px; font-weight: 700; }
.tlc .tlc-detail p { margin: 0 !important; font-size: 16px; line-height: 1.6; color: var(--tlc-ink); }
.tlc-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tlc-cols h4 { margin: 0 0 10px !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--tlc-navy) !important; }
.tlc-cols ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.tlc-cols li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--tlc-ink); margin: 0 !important; }
.tlc-cols li .tlc-ic { color: var(--tlc-orange); margin-top: 3px; }
.tlc-dot { width: 7px; height: 7px; border-radius: 50%; border: 2px solid var(--tlc-orange); flex: none; margin-top: 8px; }
.tlc-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--tlc-line); }
.tlc-detail-actions .tlc-btn-ghost[aria-pressed="true"] svg { fill: var(--tlc-orange); }
.tlc-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 48px 24px; border-radius: 22px; background: var(--tlc-soft); text-align: center; grid-column: 1 / -1; }
.tlc-empty strong { font-size: 20px; }
.tlc-empty span { font-size: 15px; color: var(--tlc-muted); }
@media (max-width: 900px) { .tlc-board { grid-template-columns: 1fr; } .tlc-detail { position: static; } }
@media (max-width: 680px) { .tlc-filters, .tlc-cols { grid-template-columns: 1fr; } }

/*@ alerts */
.tlc-alerts .wpcf7 form p { margin: 0; }
.tlc-alerts .wpcf7 br { display: none; }
.tlc-alerts .tlc-alert-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.tlc-alerts .tlc-field { display: flex; flex-direction: column; gap: 6px; }
.tlc-alerts .tlc-field label { font-size: 14px; font-weight: 800; color: var(--tlc-navy); margin: 0; }
.tlc-alerts .wpcf7-form-control-wrap { display: block; }
.tlc-alerts .wpcf7 select, .tlc-alerts .wpcf7 input[type="email"] {
  width: 100% !important; min-height: 48px; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #B9C5D4 !important; border-radius: 10px !important;
  background: #FFFFFF !important; color: var(--tlc-navy) !important; font: inherit !important; font-size: 16px !important; box-shadow: none !important; outline: 0;
}
.tlc-alerts .wpcf7 select:focus, .tlc-alerts .wpcf7 input[type="email"]:focus { border-color: var(--tlc-navy) !important; box-shadow: 0 0 0 3px rgba(247,134,29,.35) !important; }
.tlc-alerts .wpcf7-submit {
  min-height: 46px; padding: 0 18px 0 40px !important; border-radius: 10px !important; border: 1.5px solid var(--tlc-navy) !important;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230B1F3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E") no-repeat 16px center !important;
  color: var(--tlc-navy) !important; font: inherit !important; font-size: 15px !important; font-weight: 800 !important; cursor: pointer; width: auto !important; text-transform: none !important;
}
.tlc-alerts .wpcf7-submit:hover { background-color: var(--tlc-peach) !important; }
.tlc-alerts .wpcf7-not-valid { border-color: var(--tlc-red) !important; }
.tlc-alerts .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: var(--tlc-red); font-size: 13px; font-weight: 600; }
.tlc-alerts .wpcf7 form.sent .wpcf7-response-output { display: none; }
.tlc-alerts .wpcf7-response-output { margin: 12px 0 0 !important; border-radius: 10px; font-size: 14px; }
.tlc-alert-ok { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: 14px; background: #E9F7EF; color: var(--tlc-green); font-weight: 700; line-height: 1.5; }
@media (max-width: 680px) { .tlc-alerts .tlc-alert-grid { grid-template-columns: 1fr; } }

/*@ apply */
.tlc-apply { width: 100%; }
.tlc-wiz-card { display: flex; flex-direction: column; padding: clamp(22px, 3vw, 36px); border-radius: 24px; border: 1px solid var(--tlc-line); background: var(--tlc-soft); }
.tlc-apply .wpcf7 form p { margin: 0; }
.tlc-apply .wpcf7 br { display: none; }
.tlc-apply .wpcf7-form-control-wrap { display: block; }
.tlc-progress { list-style: none !important; margin: 0 0 26px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tlc-progress li { margin: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.tlc-progress li::before { content: ""; height: 5px; border-radius: 999px; background: var(--tlc-line); transition: background .3s ease; }
.tlc-progress li.is-on::before, .tlc-progress li.is-done::before { background: var(--tlc-orange); }
.tlc .tlc-progress button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 !important; border: 0 !important; background: none !important; color: var(--tlc-muted) !important; font-size: 14px; font-weight: 800; cursor: default; text-align: left; }
.tlc .tlc-progress li.is-on button, .tlc .tlc-progress li.is-done button { color: var(--tlc-navy) !important; }
.tlc .tlc-progress li.is-done button { cursor: pointer; }
.tlc-pdot { width: 26px; height: 26px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #FFFFFF; color: var(--tlc-navy); font-size: 12px; font-weight: 800; }
.tlc-progress li.is-on .tlc-pdot { background: var(--tlc-orange); }
.tlc-progress li.is-done .tlc-pdot { background: var(--tlc-green); color: #FFFFFF; }
.tlc-steperr { margin: 0 0 22px; padding: 14px 16px; border-radius: 14px; border: 1.5px solid var(--tlc-red); background: #FEF3F2; color: var(--tlc-red); font-size: 14px; font-weight: 700; }
.tlc-apply .tlc-wstep { display: flex; flex-direction: column; gap: 22px; }
.tlc-apply.is-ready .tlc-wstep:not(.is-on) { display: none; }
.tlc-apply.is-ready .tlc-wstep.is-on { animation: tlcSwap .35s cubic-bezier(.2,.7,.2,1) both; }
.tlc .tlc-wh { margin: 0 !important; font-size: 22px !important; font-weight: 800 !important; line-height: 1.25 !important; color: var(--tlc-navy) !important; }
.tlc-field { display: flex; flex-direction: column; gap: 6px; }
.tlc-field > label, .tlc-field > .tlc-label { font-size: 14px; font-weight: 800; color: var(--tlc-navy); margin: 0; }
.tlc-field label .tlc-opt, .tlc-opt { font-weight: 600; color: var(--tlc-muted); }
.tlc-req { color: var(--tlc-red); }
.tlc-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tlc-apply .tlc-mode-if[hidden] { display: none !important; }

/* Mode cards (CF7 radio) */
.tlc-apply .tlc-modes { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 10px; }
.tlc-apply .tlc-modes .wpcf7-list-item { margin: 0 !important; display: block; }
.tlc-apply .tlc-modes label { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; border-radius: 16px; border: 2px solid var(--tlc-line); background: #FFFFFF; cursor: pointer; height: 100%; transition: border-color .15s ease, background .15s ease; }
.tlc-apply .tlc-modes input { position: absolute; opacity: 0; pointer-events: none; }
.tlc-apply .tlc-modes .wpcf7-list-item-label { font-size: 16px; font-weight: 800; color: var(--tlc-navy); }
.tlc-apply .tlc-modes small { font-size: 14px; color: var(--tlc-muted); font-weight: 600; }
.tlc-apply .tlc-modes label.is-on { border-color: var(--tlc-orange); background: var(--tlc-cream); }
.tlc-apply .tlc-modes label:focus-within { outline: 3px solid var(--tlc-rust); outline-offset: 2px; }

/* Experience chips (CF7 exclusive checkbox) */
.tlc-apply .tlc-exp { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.tlc-apply .tlc-exp .wpcf7-list-item { margin: 0 !important; display: block; }
.tlc-apply .tlc-exp label { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 10px; border-radius: 12px; border: 1.5px solid var(--tlc-line); background: #FFFFFF; cursor: pointer; text-align: center; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.tlc-apply .tlc-exp label:hover { border-color: var(--tlc-orange); }
.tlc-apply .tlc-exp input { position: absolute; opacity: 0; pointer-events: none; }
.tlc-apply .tlc-exp .wpcf7-list-item-label { font-size: 15px; font-weight: 700; color: var(--tlc-navy); white-space: nowrap; }
.tlc-apply .tlc-exp label.is-on { background: var(--tlc-navy); border-color: var(--tlc-navy); }
.tlc-apply .tlc-exp label.is-on .wpcf7-list-item-label { color: #FFFFFF; }
.tlc-apply .tlc-exp label:focus-within { outline: 3px solid var(--tlc-rust); outline-offset: 2px; }

/* CV drop zone (CF7 file) */
.tlc-drop { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 32px 22px; border-radius: 18px; border: 2px dashed #B9C5D4; background: #FFFFFF; text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.tlc-drop:hover, .tlc-drop.is-over { border-color: var(--tlc-orange); background: var(--tlc-cream); }
.tlc-drop input[type="file"] { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; cursor: pointer; }
.tlc-drop-ic { width: 56px; height: 56px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--tlc-peach); color: var(--tlc-rust); }
.tlc-drop strong { font-size: 16px; font-weight: 800; }
.tlc-drop small { font-size: 14px; color: var(--tlc-muted); font-weight: 600; }
.tlc-drop em { font-style: normal; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 10px; border: 1.5px solid var(--tlc-navy); background: #FFFFFF; font-size: 14px; font-weight: 800; }
.tlc-file { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--tlc-green); background: #E9F7EF; }
.tlc-file > .tlc-ic { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: #FFFFFF; }
.tlc-file > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tlc-file strong { font-size: 15px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tlc-file small { font-size: 13px; color: var(--tlc-green); font-weight: 700; }
.tlc .tlc-file button { min-height: 44px; padding: 0 12px !important; border-radius: 10px !important; border: 1.5px solid #B9C5D4 !important; background: #FFFFFF !important; color: var(--tlc-navy) !important; font-size: 14px; font-weight: 800; cursor: pointer; }

/* Consent (CF7 acceptance) */
.tlc-apply .wpcf7-acceptance .wpcf7-list-item { margin: 0 !important; }
.tlc-apply .wpcf7-acceptance label { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: var(--tlc-ink); cursor: pointer; }
.tlc-apply .wpcf7-acceptance input { width: 20px; height: 20px; flex: none; margin: 1px 0 0 !important; accent-color: var(--tlc-rust); }
.tlc-apply .wpcf7-acceptance a { color: var(--tlc-rust); font-weight: 700; }

/* Errors */
.tlc-apply .tlc-bad, .tlc-apply .wpcf7-not-valid { border-color: var(--tlc-red) !important; }
.tlc-apply .tlc-drop.tlc-bad { border-color: var(--tlc-red); }
.tlc-apply .tlc-tip, .tlc-apply .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: var(--tlc-red); font-size: 13px; font-weight: 700; }
.tlc-apply .tlc-tip ~ .wpcf7-not-valid-tip { display: none; }

/* Wizard footer */
.tlc-wnav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--tlc-line); flex-wrap: wrap; }
.tlc .tlc-wnav .tlc-back { min-height: 50px; padding: 0 18px; border-radius: 12px !important; }
.tlc-wnav-note { font-size: 13px; color: var(--tlc-muted); font-weight: 600; }
.tlc-wnav-right { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.tlc-apply .wpcf7-submit, .tlc-apply .tlc-next {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; padding: 0 24px !important; border: 0 !important; border-radius: 12px !important;
  background: var(--tlc-orange) !important; color: #FFFFFF !important; font: inherit !important; font-size: 15px !important; font-weight: 800 !important;
  cursor: pointer; width: auto !important; transition: filter .18s ease, transform .18s ease; text-transform: none !important;
}
.tlc-apply .wpcf7-submit[hidden], .tlc-apply .tlc-next[hidden] { display: none !important; }
.tlc-apply .wpcf7-submit:hover, .tlc-apply .tlc-next:hover { filter: brightness(.94); transform: translateY(-1px); }
.tlc-apply .wpcf7-spinner { display: none; margin: 0 0 0 6px; }
.tlc-apply .wpcf7-form.submitting .wpcf7-spinner { display: inline-block; }
.tlc-apply input.wpcf7-submit { padding-right: 48px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 22px center !important; }
.tlc-apply .wpcf7-response-output { margin: 16px 0 0 !important; border-radius: 12px; font-size: 14px; }
.tlc-apply .wpcf7 form.sent .wpcf7-response-output, .tlc-apply .wpcf7 form.invalid .wpcf7-response-output { display: none; }
/* Built-in thank-you (used only when the page has no Elementor "tlc-done" block) */
.tlc-done-builtin { flex-direction: column; gap: 14px; padding: clamp(24px, 3vw, 40px); border-radius: 24px; border: 1.5px solid var(--tlc-green); background: #E9F7EF; }
.tlc-done-builtin.is-shown { display: flex; }
.tlc-done-builtin:not(.is-shown), .tlc-done-builtin .tlc-done-role:not(.is-shown), .tlc-done-builtin .tlc-done-general:not(.is-shown) { display: none !important; }
.tlc .tlc-done-builtin h3 { margin: 0 !important; font-size: 28px !important; font-weight: 800 !important; color: var(--tlc-navy) !important; }
.tlc .tlc-done-builtin p { margin: 0 !important; font-size: 16px; line-height: 1.7; color: #1F3A2C; }
@media (max-width: 680px) {
  .tlc-grid2 { grid-template-columns: 1fr; }
  .tlc-apply .tlc-exp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/*@ applyside */
/* Native Elementor widgets around [tlc_apply]: add these CSS classes in Elementor
   .tlc-sum (container), .tlc-sum-pct (heading), .tlc-sum-bar (container), .tlc-sum-note (text),
   .tlc-sum-list (icon list), .tlc-done (container), .tlc-done-title, .tlc-done-role, .tlc-done-general */
.tlc-side { position: sticky; top: 100px; }
.tlc-sum-bar { position: relative; height: 8px !important; min-height: 0 !important; padding: 0 !important; border-radius: 999px; background: rgba(255,255,255,.16); overflow: hidden; }
.tlc-sum-bar > .tlc-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 999px; background: #F7861D; transition: width .45s cubic-bezier(.2,.7,.2,1), background-color .3s ease; }
.tlc-sum.is-done .tlc-sum-bar > .tlc-fill { background: #3DBE7A; }
.tlc-sum.is-done .tlc-sum-pct .elementor-heading-title, .tlc-sum.is-done .tlc-sum-pct, .tlc-sum.is-done .tlc-sum-note, .tlc-sum.is-done .tlc-sum-note p { color: #7EE2A8 !important; }
.tlc-done-link .elementor-button { text-decoration: underline !important; text-underline-offset: 4px; padding-left: 6px !important; padding-right: 6px !important; }
.tlc-sum-list .elementor-icon-list-items { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding: 0 !important; }
.tlc-sum-list .elementor-icon-list-item { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin: 0 !important; padding: 0 0 12px !important; border-bottom: 1px solid rgba(255,255,255,.12); }
.tlc-sum-list .elementor-icon-list-item::after { display: none !important; }
.tlc-sum-list .elementor-icon-list-icon { display: none !important; }
.tlc-sum-tick { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); display: inline-flex; align-items: center; justify-content: center; transition: background-color .25s ease, border-color .25s ease; }
.tlc-sum-tick svg { opacity: 0; }
.tlc-sum-list .is-done .tlc-sum-tick { background: #3DBE7A; border-color: #3DBE7A; }
.tlc-sum-list .is-done .tlc-sum-tick svg { opacity: 1; }
.tlc-sum-list .tlc-sum-txt { flex: 1; min-width: 0; display: flex !important; flex-direction: column; gap: 2px; padding: 0 !important; }
.tlc-sum-list .tlc-sum-txt small { display: block; font-size: 12px; line-height: 1.3; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #C9D6E6; }
.tlc-sum-list .tlc-sum-txt strong { display: block; font-size: 15px; line-height: 1.35; font-weight: 700; color: #C9D6E6; overflow-wrap: anywhere; }
.tlc-sum-list .is-done .tlc-sum-txt strong { color: #FFFFFF; }
.tlc-sum-list .tlc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tlc-side a { color: #B35600; font-weight: 700; font-size: 13px; }
.tlc-side p, .tlc-done p { margin: 0; }
.tlc-done:not(.is-shown) { display: none !important; }
.tlc-done.is-shown { animation: tlcSwap .4s cubic-bezier(.2,.7,.2,1) both; }
.tlc-done-general:not(.is-shown), .tlc-done-role:not(.is-shown) { display: none !important; }
@keyframes tlcSwap { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 1024px) { .tlc-side { position: static; } }

/*@ tabs */
.tlc-tabs .tlc-off { opacity: .4; pointer-events: none; }

/*@ end */
@media (prefers-reduced-motion: reduce) {
  .tlc *, .tlc *::before, .tlc-done, .tlc-sum-bar > .tlc-fill { animation: none !important; transition: none !important; }
}
