:root{
  --theme-red:#e63946;
  --theme-orange:#f4a261;
  --theme-green:rgb(255,145,0);
  --ink-900:#14171a;
  --ink-700:#374151;
  --ink-600:#4b5563;
  --ink-400:#9aa3ac;
  --surface:#ffffff;
  --card-border:rgba(0,0,0,.06);
  --shadow:0 10px 24px rgba(0,0,0,.08);
}

.student-jobs-hero{
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at top right, rgba(244,162,97,.35), transparent 34%),
    radial-gradient(circle at bottom left, rgba(230,57,70,.25), transparent 32%),
    linear-gradient(135deg, #111827 0%, #1f2937 50%, #111827 100%);
}

.hero-eyebrow{
  display:inline-block;
  padding:.35rem .8rem;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  margin-bottom:1rem;
}

.hero-copy{
  max-width:760px;
  color:rgba(255,255,255,.88);
}

.jobs-intro-card,
.empty-state-card{
  background:#fff;
  border:1px solid var(--card-border);
  border-radius:1.2rem;
  padding:1.35rem;
  box-shadow:0 10px 24px rgba(0,0,0,.04);
}

.jobs-stat-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  min-width:128px;
  padding:.85rem 1rem;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  border:1px solid rgba(249,115,22,.18);
}

.jobs-toolbar{
  min-height:40px;
}

.biz-card{
  border:1px solid var(--card-border);
  border-radius:1rem;
  transition:transform .15s ease, box-shadow .15s ease;
  background:var(--surface);
}

.biz-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

.biz-media{
  position:relative;
  min-height:96px;
}

.biz-logo{
  max-height:72px;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.1));
  border-radius:15px;
}

.biz-logo--placeholder{
  width:72px;
  height:72px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #f6f7f9, #eef1f5);
  color:var(--ink-400);
  font-size:28px;
}

.biz-title{
  line-height:1.25;
  color:var(--ink-900);
}

.biz-chips .badge{
  margin:0 .25rem .25rem 0;
  background:#f2fbf9;
  color:#1f6d63;
  border:1px solid color-mix(in srgb, var(--theme-green) 35%, transparent);
}

.biz-meta{
  color:var(--ink-600);
}

.job-card .card-body{
  align-items:stretch;
}

.job-company-eyebrow{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:.45rem;
}

.job-title{
  font-size:1.2rem;
  min-height:3rem;
}

.job-excerpt{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:6rem;
}

.job-details{
  border-top:1px solid rgba(0,0,0,.06);
  padding-top:1rem;
}

.job-details summary{
  cursor:pointer;
  font-weight:700;
  color:var(--ink-700);
  list-style:none;
}

.job-details summary::-webkit-details-marker{
  display:none;
}

.job-details summary::after{
  content:'+';
  float:right;
  font-size:1rem;
}

.job-details[open] summary::after{
  content:'–';
}

.job-details-body{
  color:var(--ink-700);
  font-size:.95rem;
  line-height:1.65;
}

.job-details-body h1,
.job-details-body h2,
.job-details-body h3,
.job-details-body h4,
.job-details-body h5,
.job-details-body h6{
  font-size:1rem;
  font-weight:700;
  margin:0 0 .5rem;
}

.job-details-body p,
.job-details-body ul,
.job-details-body ol{
  margin-bottom:.8rem;
}

.btn-theme{
  --btn-bg:linear-gradient(135deg, var(--theme-red), var(--theme-orange));
  --btn-bg-hover:linear-gradient(
    135deg,
    color-mix(in srgb, var(--theme-red) 85%, black 15%),
    color-mix(in srgb, var(--theme-orange) 85%, black 15%)
  );
  border:none;
  color:white;
  background:var(--btn-bg);
  box-shadow:0 6px 16px rgba(230,57,70,.25);
}

.btn-theme:hover{
  color:white;
  background:var(--btn-bg-hover);
}

.btn-theme:focus{
  outline:2px solid color-mix(in srgb, var(--theme-green) 60%, transparent);
  outline-offset:2px;
}

.btn-chip{
  border:1px solid color-mix(in srgb, var(--theme-green) 45%, transparent);
  background:#ffffff;
  color:var(--theme-green);
}

.btn-chip:hover{
  background:color-mix(in srgb, var(--theme-green) 10%, white);
  color:color-mix(in srgb, var(--theme-green) 90%, black 10%);
  border-color:var(--theme-green);
}

.empty-state-icon{
  width:74px;
  height:74px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f9fafb;
  font-size:1.7rem;
  color:#6b7280;
}

.pagination-wrap{
  gap:1rem;
}

@media (max-width: 991.98px){
  .hero-copy{
    font-size:1rem;
  }

  .job-title{
    min-height:auto;
  }

  .job-excerpt{
    min-height:auto;
  }
}


.job-card-media {
  position: relative;
}

.job-header-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.job-card .biz-media {
  position: relative;
}

.job-card .biz-logo,
.job-card .biz-logo--placeholder {
  margin-top: -36px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

.student-jobs-hero .btn-outline-light {
  border-width: 1px;
  font-weight: 600;
}

.student-jobs-hero .collapse {
  transition: all .2s ease;
}