/* Scoped to the Become a T.I.M application; shared site CSS stays intact. */
.tim-page #apply .form-layout { gap: clamp(24px, 4vw, 54px); grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.tim-page #apply .form-intro { min-width: 0; }
.tim-page .screening-form { min-width: 0; padding: clamp(16px, 2.6vw, 30px); border-radius: 22px; color-scheme: dark; }
.tim-page .screening-form *, .tim-page .screening-form *::before, .tim-page .screening-form *::after { box-sizing: border-box; }
.tim-page .screening-form [hidden] { display: none !important; }
.screening-form .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.screening-form .required-star { color: #ff8585; font-weight: 900; }
.screening-form .optional-label { color: var(--muted); font-size: .72rem; font-weight: 500; margin-left: 5px; }
.screening-form .application-topline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 0; }
.screening-form .time-label { color: var(--gold2); font-size: .74rem; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; }
.screening-form .application-help, .screening-form .field-help { color: var(--muted); font-size: .78rem; line-height: 1.5; margin: 6px 0 0; font-weight: 400; }
.screening-form .application-help { margin: 10px 0 18px; }
.screening-form .selection-summary { display: block; color: #ded2b9; }
.screening-form .screening-section { padding-top: 18px; border-top: 1px solid var(--line); margin-top: 20px; min-width: 0; }
.screening-form .screening-section > * + * { margin-top: 13px; }
.screening-form .section-label { display: flex; gap: 10px; align-items: center; font-size: .98rem; margin: 0 0 16px; color: var(--cream); line-height: 1.35; }
.screening-form .section-label > span { color: var(--gold2); font-size: .7rem; letter-spacing: .1em; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; }
.screening-form label, .screening-form legend { font-size: .8rem; font-weight: 650; letter-spacing: 0; line-height: 1.4; }
.screening-form input:not([type="checkbox"]), .screening-form select, .screening-form textarea { min-width: 0; width: 100%; max-width: 100%; min-height: 46px; padding: 11px 12px; font-size: 16px; line-height: 1.35; border-radius: 10px; font-family: inherit; margin-top: 6px; }
.screening-form input::placeholder { color: #8d8575; opacity: 1; }
.screening-form input[type="search"] { appearance: none; -webkit-appearance: none; padding-right: 38px; }
.screening-form select { padding-right: 26px; text-overflow: ellipsis; }
.screening-form input:focus-visible, .screening-form select:focus-visible, .screening-form button:focus-visible { outline: 2px solid var(--gold2); outline-offset: 3px; }
.screening-form .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.screening-form .field-row > label { min-width: 0; }
.screening-form .phone-row { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 10px; }
.screening-form .phone-row input, .screening-form .phone-row select { margin-top: 0; }
.screening-form fieldset { min-width: 0; padding: 14px; border-radius: 14px; margin-inline: 0; }
.screening-form legend { max-width: 100%; padding: 0 6px; color: var(--gold2); }
.screening-form .category-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.screening-form .choice-tile { min-height: 46px; padding: 9px 10px; border: 1px solid rgba(220,178,85,.2); border-radius: 10px; background: #0a0a09; gap: 9px; align-items: center; cursor: pointer; font-size: .78rem; color: #ddd2ba; }
.screening-form .choice-tile.is-selected { color: var(--gold2); background: rgba(211,161,60,.1); border-color: var(--gold); }
.screening-form input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; accent-color: var(--gold); width: 18px; height: 18px; flex: 0 0 18px; margin: 1px 0 0; padding: 0; border-radius: 3px; cursor: pointer; }
.screening-form .commercial-heading h4 { font-size: .9rem; margin: 18px 0 0; color: var(--gold2); }
.screening-form .category-card { background: linear-gradient(135deg, rgba(211,161,60,.04), rgba(255,255,255,.015)); }
.screening-form .category-card > label, .screening-form .company-block > label { margin-top: 12px; }
.screening-form .category-card > .field-help { margin-top: 0; }
.screening-form .check-line { padding-block: 5px; min-height: 44px; font-size: .78rem; }
.screening-form .check-line span { font-weight: 450; line-height: 1.5; }
.screening-form .form-notice { padding: 13px 14px; border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 10px; background: rgba(211,161,60,.055); }
.screening-form .form-notice p { margin: 0; color: #ded2b9; font-size: .8rem; line-height: 1.5; }
.screening-form .form-notice .check-line { margin-top: 8px; }
.screening-form .company-search-wrap { position: relative; }
.screening-form .search-indicator { position: absolute; right: 14px; top: 15px; color: var(--gold2); font-size: 24px; line-height: 1; pointer-events: none; }
.screening-form .company-results { max-height: 310px; overflow-y: auto; margin-top: 8px; padding: 4px; border: 1px solid var(--gold3); border-radius: 10px; background: #0a0a09; -webkit-overflow-scrolling: touch; }
.screening-form .company-option { display: block; width: 100%; padding: 11px 10px; color: var(--text); border: 0; border-bottom: 1px solid var(--line2); border-radius: 7px; background: transparent; text-align: left; font: inherit; cursor: pointer; min-height: 52px; }
.screening-form .company-option:last-child { border-bottom: 0; }
.screening-form .company-option:hover, .screening-form .company-option[aria-selected="true"] { background: rgba(211,161,60,.12); }
.screening-form .company-option strong { display: block; color: var(--gold2); font-size: .79rem; line-height: 1.4; }
.screening-form .company-option span { display: block; font-size: .71rem; color: var(--muted); line-height: 1.45; margin-top: 4px; }
.screening-form .company-selected { margin-top: 10px; padding: 13px; background: rgba(211,161,60,.05); border: 1px solid var(--line); border-radius: 10px; }
.screening-form .company-selected-heading { display: flex; align-items: flex-start; gap: 10px; justify-content: space-between; }
.screening-form .company-selected-heading strong { color: var(--gold2); font-size: .84rem; min-width: 0; }
.screening-form .text-button { color: var(--gold2); background: transparent; border: 1px solid var(--line); padding: 9px; border-radius: 7px; font: inherit; font-size: .73rem; cursor: pointer; min-height: 44px; flex-shrink: 0; }
.screening-form .company-selected dl { display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, 1fr); gap: 6px 10px; margin: 12px 0; font-size: .75rem; }
.screening-form .company-selected dt { color: var(--muted); }
.screening-form .company-selected dd { margin: 0; color: var(--text); min-width: 0; overflow-wrap: anywhere; }
.screening-form .inline-error, .screening-form .form-error { font-size: .79rem; line-height: 1.5; color: #ff9a9a; }
.screening-form .form-error { padding: 11px 13px; border: 1px solid rgba(255,133,133,.4); border-radius: 10px; background: rgba(255,133,133,.035); }
.screening-form [aria-invalid="true"] { border-color: #ff8585; }
.screening-form button[type="submit"] { margin-top: 20px; min-height: 50px; white-space: normal; line-height: 1.4; }
.screening-form button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 980px) { .tim-page #apply .form-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; } .tim-page #apply .form-intro { position: static; } .tim-page #apply .form-intro h2 { font-size: clamp(2rem, 5vw, 3.3rem); } }
@media (max-width: 700px) { .screening-form .field-row { grid-template-columns: minmax(0, 1fr) !important; } .screening-form .phone-row { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 380px) { .screening-form .category-choices { grid-template-columns: minmax(0, 1fr); } .tim-page .screening-form { padding: 14px; border-radius: 16px; } .screening-form fieldset { padding: 11px; } .screening-form .company-selected dl { grid-template-columns: minmax(0, 1fr); gap: 3px; } .screening-form .company-selected dd { margin-bottom: 5px; } }
