/* Industry reading controls. Search and filtering happen before pagination. */
.industry-view #filter-bar{display:none}
.industry-view .back-link{padding-top:0;min-height:40px}
.industry-view .detail-heading{margin:16px 0 24px}
.reading-tools{position:sticky;top:calc(var(--header) + 10px);z-index:21;background:white;border:1px solid var(--amaru-border);border-radius:12px;padding:15px;box-shadow:0 3px 10px #26262605}
.search-toolbar{display:flex;gap:12px;align-items:center}
#job-search-form{display:flex;flex:1;min-width:0;gap:8px}
.job-search-input{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border:1px solid #d8d5d2;border-radius:8px;background:white;padding:0 12px}
.job-search-input:focus-within{outline:2px solid var(--amaru-red);outline-offset:2px}
.job-search-input svg{width:18px;height:18px;flex-shrink:0;color:#777}
.job-search-input input{width:100%;min-width:0;border:0;background:transparent;outline:none;font:inherit;font-size:14px;color:var(--amaru-charcoal);height:46px;padding:0}
.job-search-input input:focus-visible{outline:none}
.job-search-input input::placeholder{color:#767676;opacity:1}
.search-submit,.apply-filters{background:var(--amaru-red);color:white;border-radius:8px;font-size:13px;font-weight:600;padding:0 19px;min-height:46px}
.search-submit:hover,.apply-filters:hover{background:#bd2020}
.filter-controls{display:flex;gap:8px;min-width:0}
.narrow-button{min-height:46px;border:1px solid #d8d5d2;border-radius:8px;background:white;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-size:13px;color:var(--amaru-charcoal);white-space:nowrap}
.narrow-button:hover{background:#faf8f5}
.narrow-button svg{width:18px;height:18px;flex-shrink:0}
.narrow-button b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:var(--amaru-red-8);font-size:11px;font-weight:650}
.narrow-button.has-filter{border-color:var(--amaru-red-40)}
.employer-button{max-width:220px}
.employer-button>span:first-child{overflow:hidden;text-overflow:ellipsis}
.search-hint{font-size:12px;color:#696969;line-height:1.6;margin:11px 0 0}
.active-filter-row{display:flex;gap:8px;align-items:center;margin-top:12px}
.active-filters{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0;flex:1}
.filter-chip{display:flex;align-items:center;gap:10px;max-width:100%;min-height:36px;padding:6px 10px;border:1px solid #e5e0dc;border-radius:7px;background:#faf8f5;color:#545454;font-size:12px}
.filter-chip>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-chip>span:last-child{font-size:18px;line-height:1}
.filter-chip:hover{border-color:var(--amaru-red-40);color:var(--amaru-charcoal)}
.clear-reading-filters{font-size:12px;min-height:36px;padding:6px 8px;color:#626262;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.results-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin:23px 0 14px;font-size:12px;color:#626262}
.results-summary strong{font-size:14px;font-weight:600;color:var(--amaru-charcoal)}
.industry-view .list-surface{margin-top:0}
.industry-view .job-title{scroll-margin-top:230px}
/* The industry list grows as the reader scrolls (app.js watchLoadMore), so rows far
   off screen skip layout and paint; `auto` keeps a row's real height once drawn. */
.industry-view .list-surface .job{content-visibility:auto;contain-intrinsic-size:auto 130px}
/* Holds "Loading more jobs…" or, after a failed load, the "Try again" link. It keeps
   1px of height so the scroll watcher can see it even while it is empty. */
.load-more-status{min-height:1px;font-size:12px;color:#766e63}
.load-more-status button{border:0;padding:0 0 0 4px;background:none;font:inherit;font-weight:600;color:var(--amaru-charcoal);text-decoration:underline;text-underline-offset:3px}
#filters-dialog{width:min(480px,calc(100% - 32px));padding:26px;max-height:90dvh;overflow:auto}
#filters-dialog .dialog-header h2{margin:0 0 8px}
#filters-dialog .sheet-description{margin-bottom:22px}
.filter-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:13px;font-weight:600;color:var(--amaru-charcoal)}
.filter-field input,.filter-field select{font:inherit;font-weight:400;font-size:15px;min-height:48px;border:1px solid #d8d5d2;border-radius:8px;background:white;color:var(--amaru-charcoal);padding:11px 12px;width:100%;min-width:0}
.filter-help{font-size:12px;font-weight:400;line-height:1.5;color:#686868}
.remote-filter-choice{display:flex;align-items:flex-start;gap:12px;font-size:14px;cursor:pointer;padding:7px 0 20px}
.remote-filter-choice input{appearance:auto;accent-color:var(--amaru-red);width:20px;height:20px;margin:0;flex-shrink:0}
.remote-filter-choice small{display:block;margin-top:5px;font-size:12px;color:#686868}
.filter-dialog-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:17px;border-top:1px solid var(--amaru-border)}
.inline-filter-panel,.inline-employer-panel{border-top:1px solid var(--amaru-border);padding-top:16px;margin-top:14px}
.inline-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inline-filter-panel .filter-field{margin:0 0 12px}
.inline-filter-actions{display:flex;align-items:center;gap:14px}
.inline-filter-actions .remote-filter-choice{margin-right:auto;padding:0;align-items:center;min-height:44px}
.inline-employer-panel .filter-field{margin-bottom:8px}
.inline-employer-panel .company-options{max-height:240px;overflow:auto;overscroll-behavior:contain}
.reading-tools:has(.inline-filter-panel:not([hidden])),.reading-tools:has(.inline-employer-panel:not([hidden])){position:static}
#reset-location-draft{min-height:46px;padding:0 10px;font-size:13px;text-decoration:underline;text-underline-offset:3px;color:#626262}
@media(max-width:1190px){
  .search-toolbar{flex-wrap:wrap}
  #job-search-form{flex-basis:100%}
  .employer-button{max-width:350px}
}
@media(max-width:760px){
  .industry-view main{padding-top:8px}
  .industry-view .detail-heading{margin:9px 0 18px}
  .industry-view .detail-heading h2{font-size:27px}
  .industry-view .detail-heading p{margin-top:7px}
  .reading-tools{top:var(--header);padding:12px;border-radius:11px;box-shadow:0 4px 12px #26262608}
  .search-toolbar{gap:9px}
  .job-search-input{padding:0 9px;gap:7px}
  .job-search-input input{font-size:16px;height:44px}
  .job-search-input svg{width:16px;height:16px}
  .search-submit{min-height:44px;padding:0 12px;font-size:12px}
  .filter-controls{width:100%}
  .narrow-button{font-size:12px;min-height:44px;padding:0 12px}
  .employer-button{max-width:none;flex:1;min-width:0;justify-content:space-between}
  .search-hint{font-size:11px;margin-top:9px}
  .active-filter-row{margin-top:9px}
  .active-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;padding-bottom:2px}
  .filter-chip{flex-shrink:0;max-width:230px;min-height:44px;font-size:11px}
  .clear-reading-filters{flex-shrink:0;min-height:44px}
  .results-summary{font-size:11px;margin:18px 0 12px;gap:6px}
  .results-summary strong{font-size:13px}
  .industry-view .job-title{scroll-margin-top:260px}
  #filters-dialog{width:100%;max-height:90dvh;padding:12px 20px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0}
  .filter-field input,.filter-field select{font-size:16px}
  .filter-dialog-actions .apply-filters{flex:1}
  .inline-field-grid{gap:9px}
  .inline-filter-actions{gap:8px;flex-wrap:wrap}
  .inline-filter-actions .remote-filter-choice{font-size:12px}
  .inline-filter-actions .apply-filters{font-size:12px;padding:0 12px;min-height:44px}
  .inline-filter-panel .filter-field,.inline-employer-panel .filter-field{font-size:12px}
  .inline-filter-panel .filter-field input,.inline-filter-panel .filter-field select{padding-left:9px;padding-right:9px}
}
