/* Home + jobs only. Replaces legacy landing, commercial, discovery and refresh
   layers on these two routes; shared ERP/portal styles are not changed. */
body.public-discovery-v2 {
  --pd-surface: var(--px-surface,#fff); --pd-bg: var(--px-bg,#f4f7fb);
  --pd-ink: var(--px-ink,#17283f); --pd-muted: var(--px-muted,#52647a);
  --pd-line: var(--px-line,#dce5ef); --pd-soft: var(--px-soft,#eaf2ff);
  --pd-accent: var(--px-accent,#175cd3); --pd-action:#175cd3;
  --pd-danger:var(--tcv-danger-text,#b42318);
  color:var(--pd-ink); background:var(--pd-bg);
}
body.public-discovery-v2 .tcv-main { display:flex; flex-direction:column; gap:32px; padding:24px 0 0; width:100%; max-width:none; overflow:visible; }
body.public-discovery-v2 .tcv-main > .tcv-container,
body.public-discovery-v2 .hrc-home-intro { width:min(1240px,calc(100% - 40px)); margin:0 auto; min-width:0; }
body.public-discovery-v2 .hrc-home-intro { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
body.public-discovery-v2 .hrc-home-intro > section { min-width:0; width:100%; margin:0; }
body.public-discovery-v2 .tcv-main :is(p,li,dd,dt,h1,h2,h3,label) { overflow-wrap:anywhere; }
body.public-discovery-v2 .tcv-main :is(button,.hrc-btn) { max-width:100%; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
body.public-discovery-v2 .public-discovery-heading h1 { margin:6px 0 12px; font-size:clamp(26px,3vw,40px); line-height:1.2; color:var(--pd-ink); letter-spacing:-.025em; }
body.public-discovery-v2 .public-discovery-heading p { margin:0; color:var(--pd-muted); font-size:16px; line-height:1.6; max-width:76ch; }
body.public-discovery-v2 .hrc-home-section-kicker { font-size:12px; font-weight:650; color:var(--pd-muted); }
body.public-discovery-v2 .hrc-discovery-search { background:var(--pd-surface); padding:20px; border:1px solid var(--pd-line); border-radius:14px; }
body.public-discovery-v2 .public-search-main { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; gap:12px; align-items:end; }
body.public-discovery-v2 .public-search-form label,
body.public-discovery-v2 .tcv-quick-apply label { display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--pd-ink); min-width:0; }
body.public-discovery-v2 .public-search-form :is(input:not([type="checkbox"]),select),
body.public-discovery-v2 .tcv-quick-apply :is(input:not([type="checkbox"]):not([type="hidden"]),select) { width:100%; min-width:0; min-height:48px; border:1px solid var(--px-control,#8496ae); border-radius:8px; padding:10px 12px; background:var(--pd-surface); color:var(--pd-ink); font:inherit; font-size:16px; }
body.public-discovery-v2 .public-search-form input::placeholder,
body.public-discovery-v2 .tcv-quick-apply input::placeholder { color:var(--pd-muted); opacity:1; }
body.public-discovery-v2 .public-search-form button,
body.public-discovery-v2 .tcv-quick-apply button[type="submit"] { min-height:48px; padding:10px 20px; border:1px solid var(--pd-action); border-radius:8px; background:var(--pd-action); color:#fff; font:inherit; font-weight:650; cursor:pointer; }
body.public-discovery-v2 .public-filter-options { margin-top:8px; }
body.public-discovery-v2 summary { min-height:44px; padding:12px 0; cursor:pointer; color:var(--pd-accent); font-weight:600; }
body.public-discovery-v2 .public-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:8px 0 16px; }
body.public-discovery-v2 .public-filter-grid .public-filter-check { flex-direction:row; align-items:center; min-height:44px; }
body.public-discovery-v2 .public-filter-check input { width:20px; height:20px; accent-color:var(--pd-action); }
body.public-discovery-v2 :is(.hrc-discovery-filters,.public-active-filters) { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
body.public-discovery-v2 :is(.hrc-discovery-filters,.public-active-filters) a,
body.public-discovery-v2 .hrc-discovery-pagination a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--pd-line); border-radius:8px; background:var(--pd-surface); color:var(--pd-ink); font-size:14px; text-decoration:none; }
body.public-discovery-v2 :is(.hrc-discovery-filters,.public-active-filters) a:is(.is-active,:hover) { background:var(--pd-soft); border-color:var(--pd-accent); }
body.public-discovery-v2 .public-active-filters a { min-width:0; max-width:100%; overflow-wrap:anywhere; }
body.public-discovery-v2 .public-active-filters a > span { flex-shrink:0; }
body.public-discovery-v2 .hrc-discovery-filters .is-active::before { content:'✓'; }
body.public-discovery-v2 .tcv-section-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
body.public-discovery-v2 .tcv-section-head h2 { margin:0 0 6px; color:var(--pd-ink); font-size:clamp(22px,2.2vw,28px); line-height:1.3; }
body.public-discovery-v2 .tcv-section-head span { color:var(--pd-muted); font-size:14px; }
body.public-discovery-v2 .tcv-section-head > a { min-height:44px; display:inline-flex; align-items:center; color:var(--pd-accent); text-decoration:underline; }
body.public-discovery-v2 .hrc-discovery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs .ai-job-card { display:flex; flex-direction:column; min-width:0; width:auto; height:100%; gap:12px; padding:18px; border:1px solid var(--pd-line); border-radius:12px; box-shadow:none; background:var(--pd-surface); color:var(--pd-ink); animation:none; transform:none; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs .ai-job-top { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; gap:10px; }
body.public-discovery-v2 #jobs .ai-job-logo { width:44px; height:44px; background:#fff; border:1px solid #dce5ef; border-radius:8px; padding:3px; }
body.public-discovery-v2 #jobs .ai-job-logo img { width:100%; height:100%; object-fit:contain; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs :is(.ai-job-company,h3,h3 a) { display:block; overflow:visible; white-space:normal; -webkit-line-clamp:unset; overflow-wrap:anywhere; height:auto; }
body.public-discovery-v2 #jobs .ai-job-company { color:var(--pd-muted); font-size:12px; line-height:1.5; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs h3 { font-size:16px; margin:4px 0 0; line-height:1.45; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs h3 a { color:var(--pd-ink); font-size:16px; line-height:1.45; font-weight:700; }
body.public-discovery-v2 #jobs .ai-job-status { display:inline-flex; grid-column:2; position:static; justify-self:start; max-width:100%; font-size:12px; white-space:normal; color:var(--pd-ink); background:var(--pd-soft); }
body.public-discovery-v2 #jobs .ai-job-source-row { font-size:12px; }
body.public-discovery-v2 #jobs .ai-job-meta { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; font-size:14px; line-height:1.5; color:var(--pd-muted); margin:0; }
body.public-discovery-v2 #jobs .ai-job-meta > span { min-width:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--pd-muted); overflow-wrap:anywhere; }
body.public-discovery-v2 #jobs .ai-job-meta b { color:var(--pd-ink); font-weight:600; }
body.public-discovery-v2 #jobs .ai-job-card > .ai-job-meta > span:first-child { background:var(--pd-soft); color:var(--pd-ink); padding:10px; border-radius:8px; }
body.public-discovery-v2 #jobs .public-job-extra { margin-top:auto; border-top:1px solid var(--pd-line); }
body.public-discovery-v2 #jobs .ai-job-tags { display:flex; gap:6px; flex-wrap:wrap; margin:8px 0; }
body.public-discovery-v2 #jobs .ai-job-tags span { background:var(--pd-soft); color:var(--pd-ink); font-size:12px; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs .ai-job-foot { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0; margin:0; border:0; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs .ai-job-foot a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:8px; border:1px solid var(--pd-line); border-radius:8px; background:var(--pd-surface); color:var(--pd-ink); font-size:14px; line-height:1.4; text-align:center; white-space:normal; overflow-wrap:anywhere; box-shadow:none; }
body.public-discovery-v2.hrconnect-recruitment-os #jobs .ai-job-foot .ai-job-quick-apply { background:var(--pd-action); color:#fff; border-color:var(--pd-action); }
body.public-discovery-v2 #jobs .ai-job-foot a:nth-child(3) { grid-column:1/-1; }
body.public-discovery-v2 .hrc-discovery-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; align-items:center; margin:20px 0 0; }
body.public-discovery-v2 [data-discovery-status] { min-height:24px; text-align:center; font-size:14px; }
body.public-discovery-v2 [data-discovery-list][aria-busy="true"] { opacity:.65; }
body.public-discovery-v2 .hrc-discovery-skeleton { min-height:240px; padding:20px; border:1px solid var(--pd-line); border-radius:12px; background:var(--pd-surface); }
body.public-discovery-v2 .hrc-discovery-skeleton span { display:block; height:16px; margin:16px 0; background:var(--pd-line); border-radius:6px; }
body.public-discovery-v2 .hrc-home-quick-apply { padding:24px; margin-top:24px; border:1px solid var(--pd-line); border-radius:12px; background:var(--pd-surface); }
body.public-discovery-v2 .hrc-home-quick-apply h2 { font-size:24px; margin:6px 0; color:var(--pd-ink); }
body.public-discovery-v2 .hrc-home-quick-apply-copy { margin-bottom:20px; }
body.public-discovery-v2 .hrc-home-quick-apply-copy p { color:var(--pd-muted); }
body.public-discovery-v2 .tcv-quick-apply[data-compact-apply] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; background:none; box-shadow:none; border:0; }
/* Retire the legacy 12-column placements as well as its container. Otherwise
   span 6 / span 4 generates implicit columns at tablet widths. */
body.public-discovery-v2 .tcv-quick-apply[data-compact-apply] > :is(label,button,div) { grid-column:auto; min-width:0; }
body.public-discovery-v2 .tcv-quick-apply[data-compact-apply] > :is(label:first-of-type,.tcv-consent-field,.tcv-quick-apply-live,[data-public-submit-feedback]) { grid-column:1/-1; }
body.public-discovery-v2 [data-public-submit-feedback] { min-width:0; color:var(--pd-ink); background:var(--pd-soft); border:1px solid var(--pd-line); }
body.public-discovery-v2 [data-public-submit-feedback][role="alert"] { color:var(--pd-danger); }
body.public-discovery-v2 [data-public-submit-feedback] > div:not([hidden]) { display:flex; flex-wrap:wrap; gap:8px; }
body.public-discovery-v2 [data-public-submit-feedback] .hrc-btn { min-height:44px; background:var(--pd-surface); color:var(--pd-ink); border-color:var(--px-control,#8496ae); }
body.public-discovery-v2 .tcv-consent-field { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; padding:12px; background:var(--pd-soft); border-radius:8px; }
body.public-discovery-v2 .tcv-consent-field input { width:20px; height:20px; min-height:20px; margin:3px 0; }
body.public-discovery-v2 .tcv-consent-field .tcv-field-error { grid-column:2; }
body.public-discovery-v2 .tcv-field-error { color:var(--pd-danger); }
body.public-discovery-v2 [aria-invalid="true"] { border-color:var(--pd-danger); }
body.public-discovery-v2 .tcv-hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.public-discovery-v2 :is(.hrc-discovery-today,.hrc-discovery-process,.hrc-discovery-lookup,.hrc-discovery-employers,.hrc-home-trust) { padding:24px; background:var(--pd-surface); border:1px solid var(--pd-line); border-radius:12px; }
body.public-discovery-v2 .hrc-discovery-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:16px 0 0; }
body.public-discovery-v2 .hrc-discovery-metrics dt { font-size:14px; color:var(--pd-muted); }
body.public-discovery-v2 .hrc-discovery-metrics dd { margin:4px 0; font-size:26px; font-weight:700; color:var(--pd-ink); }
body.public-discovery-v2 .hrc-discovery-metrics small { font-size:12px; color:var(--pd-muted); }
body.public-discovery-v2 .hrc-discovery-company-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.public-discovery-v2 .hrc-discovery-company-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:6px 12px; padding:18px; border:1px solid var(--pd-line); background:var(--pd-surface); border-radius:12px; color:var(--pd-ink); }
body.public-discovery-v2 .hrc-discovery-company-card > :is(img,span:first-child) { grid-row:span 3; width:48px; height:48px; object-fit:contain; background:#fff; border-radius:8px; }
body.public-discovery-v2 .hrc-discovery-company-card strong { overflow-wrap:anywhere; font-size:15px; line-height:1.5; }
body.public-discovery-v2 .hrc-discovery-company-card > :is(span,small) { font-size:13px; }
body.public-discovery-v2 :is(.hrc-discovery-lookup,.hrc-discovery-employers) { display:flex; align-items:center; justify-content:space-between; gap:24px; }
body.public-discovery-v2 :is(.hrc-discovery-lookup,.hrc-discovery-employers) .hrc-btn { flex-shrink:0; background:var(--pd-action); color:#fff; min-height:44px; padding:12px 16px; }
body.public-discovery-v2 .hrc-discovery-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:0; list-style:none; }
body.public-discovery-v2 .hrc-discovery-process h3 { font-size:16px; margin:6px 0; }
body.public-discovery-v2 .hrc-discovery-process p { color:var(--pd-muted); font-size:14px; line-height:1.6; }
body.public-discovery-v2 .hrc-home-legal-card { background:none; border:0; padding:0; }
body.public-discovery-v2 .hrc-home-legal-card dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
body.public-discovery-v2 .hrc-home-legal-card dt { font-size:13px; color:var(--pd-muted); }
body.public-discovery-v2 .hrc-home-legal-card dd { margin:4px 0; font-weight:600; }
body.public-discovery-v2 .hrc-home-legal-actions { display:flex; flex-wrap:wrap; gap:16px; }
body.public-discovery-v2 .hrc-home-legal-actions a { display:flex; align-items:center; min-height:44px; color:var(--pd-accent); text-decoration:underline; }
body.public-discovery-v2 .hrc-discovery-mobile-actions { display:none; }
body.public-discovery-v2 :is(#jobs,#job-search,#quick-apply,#employers) { scroll-margin-top:calc(var(--px-header-height,72px) + 16px); }
body.public-discovery-v2.qm-public.hrconnect-recruitment-os :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid var(--pd-accent); outline-offset:3px; }
/* Native hidden is a state invariant, including controls with more-specific display rules. */
body.public-discovery-v2 [hidden] { display:none !important; }
@media(max-width:1100px) { body.public-discovery-v2 :is(.hrc-discovery-grid,.hrc-discovery-company-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  body.public-discovery-v2 .tcv-main { gap:24px; padding-top:16px; }
  body.public-discovery-v2 .tcv-main > .tcv-container,body.public-discovery-v2 .hrc-home-intro { width:calc(100% - 24px); }
  body.public-discovery-v2 .public-search-main { grid-template-columns:minmax(0,1fr); gap:10px; }
  body.public-discovery-v2 .public-search-main label > span { font-size:13px; }
  body.public-discovery-v2 .hrc-discovery-search { padding:14px; }
  body.public-discovery-v2 .public-filter-grid { grid-template-columns:1fr 1fr; gap:12px; }
  body.public-discovery-v2 .hrc-discovery-filters { flex-wrap:nowrap; overflow-x:auto; padding:6px; scroll-padding-inline:6px; }
  body.public-discovery-v2 .hrc-discovery-filters a { flex-shrink:0; }
  body.public-discovery-v2 :is(.hrc-discovery-grid,.hrc-discovery-company-grid) { grid-template-columns:1fr; }
  body.public-discovery-v2 .tcv-quick-apply[data-compact-apply] { grid-template-columns:minmax(0,1fr); }
  body.public-discovery-v2 :is(.hrc-home-quick-apply,.hrc-discovery-today,.hrc-discovery-process,.hrc-discovery-lookup,.hrc-discovery-employers,.hrc-home-trust) { padding:18px; }
  body.public-discovery-v2 .hrc-discovery-metrics { grid-template-columns:1fr 1fr; }
  body.public-discovery-v2 .hrc-discovery-metrics > div:last-child { grid-column:1/-1; }
  body.public-discovery-v2 :is(.hrc-discovery-lookup,.hrc-discovery-employers) { flex-direction:column; align-items:stretch; gap:12px; }
  body.public-discovery-v2 .hrc-discovery-process ol { grid-template-columns:1fr 1fr; }
  body.public-discovery-v2 .hrc-home-legal-card dl { grid-template-columns:1fr; }
  body.public-discovery-v2 :is(#jobs,#job-search,#quick-apply,#employers) { scroll-margin-top:calc(var(--px-header-height,68px) + 16px); }
}
@media(max-width:359px) { body.public-discovery-v2 .public-filter-grid { grid-template-columns:1fr; } }
@media(max-width:680px) {
  /* The shared enhancer owns an important 13px control rule. Keep this public
     mobile correction equally authoritative, including the body portal. */
  body.public-discovery-v2 .hrc-searchable-select .hrc-searchable-select__control,
  body.public-discovery-v2 .hrc-searchable-select__dropdown .hrc-searchable-select__search { font-size:16px !important; min-height:44px !important; }
  body.public-discovery-v2 .hrc-searchable-select .hrc-searchable-select__current { font-size:inherit; }
}
@media(prefers-reduced-motion:reduce) { body.public-discovery-v2 * { scroll-behavior:auto; transition:none; animation:none; } }
