/* ==========================================================================
   Internship Listing Page Styles
   ========================================================================== */

.intern-page { max-width: 1100px; margin: 0 auto; padding: 1.5rem 0 3rem; }
.intern-hero {
  background: linear-gradient(135deg, #072946 0%, #0d4a7a 100%);
  border-radius: 16px; padding: 3rem; color: #fff; margin-bottom: 2.5rem;
  position: relative; overflow: hidden;
}
.intern-hero::before { content:''; position:absolute; top:-50%; right:-15%; width:400px; height:400px; background:rgba(255,255,255,0.03); border-radius:50%; }
.intern-hero::after { content:''; position:absolute; bottom:-30%; left:-10%; width:300px; height:300px; background:rgba(13,110,253,0.06); border-radius:50%; }
.intern-hero h1 { color:#fff !important; font-size:2rem; font-weight:700; margin:0 0 0.75rem; position:relative; z-index:1; line-height:1.3; }
.intern-hero p { opacity:0.88; font-size:1rem; line-height:1.7; max-width:700px; position:relative; z-index:1; margin:0; }
.intern-hero-stats { display:flex; gap:2rem; margin-top:1.5rem; position:relative; z-index:1; }
.intern-hero-stat { text-align:center; }
.intern-hero-stat strong { display:block; font-size:1.4rem; font-weight:700; color:#fff; }
.intern-hero-stat span { font-size:0.8rem; opacity:0.75; }

.intern-filter-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; flex-wrap:wrap; gap:0.75rem; }
.intern-filter-bar h2 { font-size:1.1rem; font-weight:700; color:#072946; margin:0; display:flex; align-items:center; gap:8px; }
.intern-filter-bar h2 i { color:#0d6efd; }
.intern-count { font-size:0.85rem; color:#6c757d; background:#f0f4f8; padding:4px 12px; border-radius:20px; font-weight:500; }

.intern-grid { display:flex; flex-direction:column; gap:1rem; }
.intern-card {
  background:#fff; border-radius:12px; padding:1.5rem 1.75rem;
  border:1px solid #e8eef3; transition:all 0.25s ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.03); position:relative; overflow:hidden;
}
.intern-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#0d6efd,#072946); transform:scaleX(0);
  transition:transform 0.3s ease; transform-origin:left;
}
.intern-card:hover { box-shadow:0 8px 28px rgba(7,41,70,0.08); transform:translateY(-3px); border-color:#d0e3f5; }
.intern-card:hover::after { transform:scaleX(1); }
.intern-card-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.6rem; }
.intern-card h3 { font-size:1.05rem; font-weight:700; color:#072946; margin:0; line-height:1.4; }
.intern-card h3 a { color:#072946; text-decoration:none; transition:color 0.2s; }
.intern-card h3 a:hover { color:#0d6efd; }
.intern-card-company { font-size:0.82rem; color:#6c757d; margin:0.25rem 0 0.75rem; display:flex; align-items:center; gap:4px; }
.intern-card-meta { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:1rem; }
.intern-meta-tag {
  display:inline-flex; align-items:center; gap:5px;
  background:#f8fafb; padding:6px 12px; border-radius:6px;
  font-size:0.75rem; font-weight:600; color:#1a3a5c;
  border:1px solid #e8eef3;
}
.intern-meta-tag i { color:#0d6efd; font-size:0.7rem; }
.intern-card-desc { font-size:0.88rem; color:#555; line-height:1.6; margin-bottom:1rem; }
.intern-card-skills { display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:1rem; }
.intern-skill {
  background:#eef5fb; color:#0d6efd; padding:4px 10px; border-radius:5px;
  font-size:0.72rem; font-weight:600;
}
.intern-card-actions { display:flex; justify-content:space-between; align-items:center; padding-top:0.5rem; border-top:1px solid #f5f5f5; }
.intern-apply-btn {
  background:#072946; color:#fff; padding:9px 22px; border-radius:6px;
  font-size:0.85rem; font-weight:600; text-decoration:none;
  display:inline-flex; align-items:center; gap:6px; transition:all 0.2s ease;
}
.intern-apply-btn:hover { background:#0d6efd; color:#fff; text-decoration:none; transform:translateY(-1px); box-shadow:0 4px 12px rgba(13,110,253,0.2); }
.intern-detail-btn {
  color:#0d6efd; font-size:0.85rem; font-weight:600; text-decoration:none;
  display:inline-flex; align-items:center; gap:5px; transition:color 0.2s;
}
.intern-detail-btn:hover { color:#072946; text-decoration:none; }
.intern-type-badge {
  padding:4px 12px; border-radius:20px; font-size:0.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:0.3px;
}
.badge-internship { background:#ede7f6; color:#5e35b1; }
.badge-job { background:#e3f2fd; color:#1565c0; }

.intern-empty {
  text-align:center; padding:5rem 2rem; color:#6c757d;
  background:#fff; border-radius:12px; border:2px dashed #dee2e6;
}
.intern-empty i { font-size:3.5rem; color:#dee2e6; display:block; margin-bottom:1rem; }
.intern-empty h5 { color:#072946; font-weight:700; margin-bottom:0.5rem; }

.intern-pagination { margin-top:2rem; }
.intern-pagination .pagination { gap:4px; }
.intern-pagination .pagination li a,
.intern-pagination .pagination li span { border-radius:6px; font-size:0.88rem; padding:8px 14px; }

@media(max-width:768px){
  .intern-hero { padding:2rem 1.5rem; border-radius:12px; }
  .intern-hero h1 { font-size:1.5rem; }
  .intern-hero-stats { gap:1.25rem; }
  .intern-hero-stat strong { font-size:1.1rem; }
  .intern-card { padding:1.25rem; }
  .intern-filter-bar { flex-direction:column; align-items:flex-start; }
}
