/* ==========================================================================
   Placements Adda – Our Placements page (scoped to .pl-wrap)
   ========================================================================== */
.pl-wrap { --pl-navy: #0b1030; --pl-navy2: #151f55; --pl-orange: #ff7a00; --pl-line: #e8ebf4; --pl-muted: #5b6478; --pl-light: #f6f7fb;
  --pl-grad: linear-gradient(135deg, #ff7a00 0%, #ff4d6d 60%, #7c5cff 130%); font-family: 'Inter', 'Poppins', sans-serif; overflow-x: clip; }
.pl-wrap h1, .pl-wrap h3 { text-transform: none; }

/* hero */
.pl-wrap .pl-hero { padding: 150px 0 120px; }
.pl-wrap .pl-hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.6rem); line-height: 1.1; }
.pl-wrap .pl-in { display: block; font-size: .62em; font-weight: 700; color: rgba(255, 255, 255, .85); margin-top: .35rem; }
.pl-wrap .pl-in .company_name { color: #ffa24d; }
.pl-wrap .pl-hero .pa-hero__grid { grid-template-columns: 1.2fr .8fr; }
.pl-wrap .pl-hero .pa-hero__visual { max-width: 380px; margin-left: auto; }
.pl-wrap .pl-hero .pa-bubble { display: none; }
.pl-wrap .pa-crumbs a { color: #ffa24d; font-weight: 600; }
.pl-wrap .pa-crumbs, .pl-wrap .pa-crumbs span { color: rgba(255, 255, 255, .85); }
.pl-wrap .pa-crumbs i { font-size: .62rem; color: rgba(255, 255, 255, .5); }

.pl-logo-card { position: relative; display: grid; justify-items: center; gap: .5rem; padding: 2.2rem 1.6rem 1.8rem; border-radius: 30px; text-align: center;
  background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)); border: 1px solid rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 40px 70px -34px rgba(0, 0, 0, .7); animation: pl-float 7s ease-in-out infinite; }
.pl-logo-card img { width: 200px; height: 200px; object-fit: contain; padding: 22px; border-radius: 26px; background: #fff; box-shadow: 0 24px 40px -22px rgba(0, 0, 0, .6); position: relative; z-index: 1; }
.pl-logo-card__ring { position: absolute; top: 1.4rem; width: 240px; height: 240px; border-radius: 34px; border: 2px dashed rgba(255, 162, 77, .5); animation: pl-spin 30s linear infinite; }
.pl-logo-card strong { margin-top: .8rem; font: 800 1.25rem 'Outfit', sans-serif; color: #fff; }
.pl-logo-card small { color: rgba(255, 255, 255, .65); }
@keyframes pl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes pl-spin { to { transform: rotate(360deg); } }

/* main */
.pl-main { position: relative; padding: 0 0 90px; background: url('../images/hero/pa_overview_bg.jpg') center / cover no-repeat, #f4f3fc; }
.pl-main .pa-container { width: min(1200px, 92%); margin-inline: auto; }
.pl-stats { position: relative; z-index: 5; margin-top: -60px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border-radius: 22px; overflow: hidden; background: var(--pl-line); border: 1px solid var(--pl-line); box-shadow: 0 30px 60px -30px rgba(11, 16, 48, .45); }
.pl-stat { display: flex; align-items: center; gap: .9rem; padding: 1.3rem 1.4rem; background: #fff; transition: background .3s; min-width: 0; }
.pl-stat:hover { background: #fff8f1; }
.pl-stat > i { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: var(--pl-grad); box-shadow: 0 12px 20px -10px rgba(255, 122, 0, .7); }
.pl-stat strong { display: block; font: 800 1.2rem 'Outfit', sans-serif; color: var(--pl-navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-stat span { font-size: .8rem; color: var(--pl-muted); }

.pl-tools { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin: 2.4rem 0 1.6rem; }
.pl-search { position: relative; flex: 1 1 280px; max-width: 380px; }
.pl-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--pl-muted); font-size: .85rem; pointer-events: none; }
.pl-search input { width: 100%; height: 48px; padding: 0 16px 0 42px; border-radius: 999px; border: 1px solid var(--pl-line); background: #fff; font: 500 .95rem 'Inter', sans-serif; color: var(--pl-navy); outline: 0; box-shadow: 0 10px 22px -16px rgba(15, 23, 42, .3); transition: border-color .25s, box-shadow .25s; }
.pl-search input:focus { border-color: var(--pl-orange); box-shadow: 0 0 0 4px rgba(255, 122, 0, .15); }
.pl-sort { display: inline-flex; gap: .3rem; padding: 5px; border-radius: 999px; background: #fff; border: 1px solid var(--pl-line); box-shadow: 0 10px 22px -16px rgba(15, 23, 42, .3); }
.pl-sort button { border: 0; background: transparent; height: 38px; padding: 0 16px; border-radius: 999px; font: 600 .85rem 'Inter', sans-serif; color: var(--pl-muted); cursor: pointer; transition: color .25s, background .25s; }
.pl-sort button:hover { color: var(--pl-orange); }
.pl-sort button.is-on { color: #fff; background: var(--pl-grad); box-shadow: 0 10px 18px -8px rgba(255, 122, 0, .6); }

/* cards */
.pl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1.4rem; }
.pl-card { position: relative; padding: 1.6rem 1.2rem 1.3rem; text-align: center; border-radius: 24px; background: linear-gradient(180deg, #fff, #fcfcff); border: 1px solid var(--pl-line);
  box-shadow: 0 22px 44px -30px rgba(15, 23, 42, .4); overflow: hidden; opacity: 0; animation: pl-in .5s cubic-bezier(.2, .8, .3, 1) forwards; transition: transform .35s, box-shadow .35s, border-color .3s; }
.pl-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--pl-grad); transform: scaleX(0); transform-origin: left; transition: transform .45s; }
.pl-card:hover { transform: translateY(-8px); border-color: rgba(255, 122, 0, .4); box-shadow: 0 34px 56px -28px rgba(255, 122, 0, .4); }
.pl-card:hover::before { transform: scaleX(1); }
@keyframes pl-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.pl-card__pic { position: relative; width: 112px; height: 112px; margin: 0 auto 1rem; border-radius: 50%; background: var(--pl-grad) center / cover no-repeat; border: 4px solid #fff; box-shadow: 0 0 0 2px rgba(255, 122, 0, .35), 0 18px 28px -14px rgba(11, 16, 48, .5); display: grid; place-items: center; transition: transform .4s; }
.pl-card:hover .pl-card__pic { transform: scale(1.06); }
.pl-card__pic span { font: 800 1.8rem 'Outfit', sans-serif; color: #fff; z-index: 0; }
.pl-card__pic[style*="url"] span { display: none; }
.pl-card h3 { font: 700 1.05rem 'Outfit', sans-serif; color: var(--pl-navy); margin: 0 0 .6rem; line-height: 1.3; text-transform: capitalize; }
.pl-card__pkg { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 999px; font: 700 .85rem 'Inter', sans-serif; color: #c25a00; background: #fff3e6; border: 1px solid rgba(255, 122, 0, .25); }
.pl-card__tag { display: block; margin-top: .8rem; font-size: .75rem; font-weight: 600; color: #16a34a; }
.pl-card__top { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .6rem; border-radius: 999px; font: 700 .68rem 'Inter', sans-serif; color: #fff; background: linear-gradient(135deg, #f59e0b, #ff4d6d); box-shadow: 0 10px 16px -8px rgba(245, 158, 11, .7); }

.pl-skel { height: 250px; border-radius: 24px; background: linear-gradient(100deg, #eceffa 30%, #f8f9ff 50%, #eceffa 70%) 0 0 / 200% 100%; animation: pl-shim 1.3s linear infinite; }
@keyframes pl-shim { to { background-position: -200% 0; } }

.pl-empty { display: none; text-align: center; padding: 3.5rem 1rem; border-radius: 24px; background: #fff; border: 1px dashed #cfd6ea; }
.pl-empty.is-on { display: block; }
.pl-empty i { font-size: 2.4rem; color: #c4cadd; }
.pl-empty h3 { font: 800 1.4rem 'Outfit', sans-serif; color: var(--pl-navy); margin: .8rem 0 .3rem; }
.pl-empty p { color: var(--pl-muted); margin-bottom: 1.2rem; }

@media (max-width: 991px) {
  .pl-wrap .pl-hero { padding: 130px 0 100px; }
  .pl-wrap .pl-hero .pa-hero__grid { grid-template-columns: 1fr; }
  .pl-wrap .pl-hero .pa-hero__visual { margin: 1rem auto 0; }
  .pl-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .pl-stats { margin-top: -40px; }
  .pl-stat { padding: 1rem; }
  .pl-grid { grid-template-columns: repeat(2, 1fr); gap: .9rem; }
  .pl-card { padding: 1.2rem .7rem 1rem; border-radius: 18px; }
  .pl-card__pic { width: 88px; height: 88px; }
  .pl-search { max-width: none; flex-basis: 100%; }
  .pl-sort { width: 100%; } .pl-sort button { flex: 1; padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .pl-card, .pl-logo-card, .pl-logo-card__ring, .pl-skel { animation: none; opacity: 1; } }
