/* Jobs page — extends base theme (styles.css) */

/* HERO */
.jobs-hero{
  position:relative; overflow:hidden;
  padding:64px 0 28px;
  border-bottom:1px solid var(--outline);
}
.jobs-hero .hero-inner{ position:relative; z-index:1 }
.hero-bg{ position:absolute; inset:0; overflow:hidden; pointer-events:none }
.orb{ position:absolute; width:380px; height:380px; border-radius:999px; filter:blur(32px); opacity:.55;
      background: radial-gradient(closest-side, var(--brand), transparent 70%) }
.orb.o1{ left:-100px; top:-60px; animation:float 12s ease-in-out infinite }
.orb.o2{ right:-120px; top:20%; animation:float 14s ease-in-out infinite reverse }
.orb.o3{ left:40%; bottom:-120px; animation:float 18s ease-in-out infinite }
@keyframes float{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-16px)} }

.apply-note{
  margin-top:10px; border:1px solid var(--outline);
  background:var(--card-gradient); border-radius:12px; padding:12px 14px;
}
.link-strong{ color:var(--text); font-weight:800; text-decoration:none }
.link-strong:hover{ text-decoration:underline }

/* FILTERS */
.filters{ display:grid; gap:14px; margin-top:22px; color:var(--text); }
.search-wrap{ position:relative; max-width:560px }
.search-wrap input{
  width:100%; background:var(--input-bg); border:1px solid var(--input-border); color:var(--text);
  padding:12px 40px 12px 14px; border-radius:12px; outline:none;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease)
}
.search-wrap input::placeholder{ color:#ffffff; opacity:.6 }
.search-wrap input:focus{ border-color:var(--brand); box-shadow:0 0 0 3px var(--focus-ring); background:var(--brand-glass) }
.search-wrap .icon{ position:absolute; right:12px; top:50%; transform:translateY(-50%); opacity:.85; color:var(--text); }

.filters-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
@media (max-width: 800px){ .filters-row{ grid-template-columns:1fr } }

.filters-group{ display:grid; gap:8px; }
.filter-label{
  font-weight:800; letter-spacing:.02em; color:var(--text);
  opacity:.95; user-select:none;
}
.chip-row{ display:flex; flex-wrap:wrap; gap:10px }
.tag-chip{
  color:var(--text);
  background:var(--chip-bg);
  border:1px solid var(--chip-border);
  padding:8px 12px; border-radius:999px; cursor:pointer; font-weight:700;
  transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease)
}
.tag-chip:hover{ transform:translateY(-1px) }
.tag-chip.is-active{
  background:linear-gradient(180deg,var(--brand),var(--accent));
  border-color:transparent;
  color:#111;
}

/* LIST */
.jobs-list{ margin:28px auto 60px }
.jobs-grid{ display:grid; grid-template-columns:1fr; gap:16px }

.job-card{
  position:relative; border:1px solid var(--outline); border-radius:16px; overflow:hidden;
  background:var(--card-gradient); box-shadow:var(--surface-elev);
  transform:translateY(10px) scale(.98); opacity:0;
  transition:transform .7s var(--ease), opacity .7s var(--ease), border-color .35s var(--ease)
}
.job-card.revealed{ transform:none; opacity:1 }
.job-card:hover{ border-color:var(--brand-soft-x) }
.job-head{ padding:16px 16px 6px }
.job-meta{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:6px }
.badge{ display:inline-block; padding:6px 10px; border-radius:999px; background:var(--chip-bg); border:1px solid var(--chip-border); font-weight:700 }
.job-title{ margin:6px 0 6px }
.job-summary{ margin:0 0 8px; opacity:.9 }

.job-body{
  padding:0 16px; max-height:0; overflow:hidden;
  transition:max-height .5s var(--ease), padding .35s var(--ease);
}
.job-body.open{ padding:8px 16px 14px; }

.job-section{ margin:10px 0 6px }
.job-section h4{ margin:8px 0 6px }
.job-section ul{ margin:0; padding-left:18px }

.job-cta{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  padding:12px 16px 16px; border-top:1px solid var(--outline)
}
.more-toggle{ min-width:140px }
.share-btn{ min-width:140px }

/* APPLY block */
.apply{ margin:0 auto 70px }
.apply-card{
  border:1px solid var(--outline); background:var(--card-gradient);
  border-radius:16px; padding:16px; box-shadow:var(--surface-elev)
}
.apply-card ol{ margin:8px 0 0 }
.apply-card .small{ opacity:.8 }

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .job-card{ transition:none !important }
}

@media (max-width: 600px){
  .jobs-hero{padding:48px 0 22px;}
  .filters{gap:12px;}
  .search-wrap{max-width:none;}
  .filters-group{gap:6px;}
  .chip-row{gap:8px;}
  .job-card{border-radius:14px;}
  .job-meta{gap:6px;}
  .job-body.open{padding:10px 14px 16px;}
  .job-cta{flex-direction:column;align-items:stretch;gap:8px;}
  .job-cta .btn{width:100%;justify-content:center;}
}

@media (max-width: 480px){
  .job-title{font-size:20px;}
  .job-summary{font-size:15px;}
  .filters{gap:10px;}
  .tag-chip{padding:7px 10px;}
}
