@import url("./taban-puanlari-sayfa.css?v=faf88152eddc");

/* ═══════════════════════════════════════════════════════════════════════
   DGS TABAN PUANLARI — YKS PARITY DESIGN SYSTEM
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 8-Column Desktop Layout ── */
.detail-results-col-dgs-min-score,
.detail-results-col-dgs-max-score {
  width: 14.5%;
}

.dgs-related-section {
  margin-top: 18px;
}

.dgs-related-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--border, #d7e0ea);
}

.dgs-related-links a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border-right: 1px solid var(--border, #d7e0ea);
  border-bottom: 1px solid var(--border, #d7e0ea);
  color: var(--primary, #23466f);
  font-weight: 750;
  text-decoration: none;
}

.dgs-related-links a:nth-child(3n) {
  border-right: 0;
}

.dgs-related-links a:hover,
.dgs-related-links a:focus-visible {
  background: #f2f7fc;
}

.dgs-related-links span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.dgs-related-links small {
  flex: 0 0 auto;
  color: var(--text-muted, #64748b);
  font-size: 0.72rem;
  font-weight: 700;
}

@media (max-width: 760px) {
  .dgs-related-links {
    grid-template-columns: 1fr;
  }

  .dgs-related-links a,
  .dgs-related-links a:nth-child(3n) {
    border-right: 0;
  }
}

.detail-results-col-dgs-quota,
.detail-results-col-dgs-placed {
  width: 7.5%;
}

.detail-results-col-dgs-occupancy {
  width: 7.5%;
}

/* ── Editorial notice on DGS page ── */
.dgs-notice-card {
  margin-bottom: 20px;
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid rgba(196, 205, 217, 0.88);
  border-left: 5px solid var(--primary);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.95));
  box-shadow: var(--shadow-sm);
}

.dgs-notice-card h2 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--primary);
}

.dgs-notice-card p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.dgs-notice-card a {
  display: inline-block;
  margin-top: 8px;
  font-weight: 800;
  font-size: 0.85rem;
}

/* ── Hub Grid Directory Layout (Spacious 3-Column Grid) ── */
#dgs-department-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

@media (max-width: 1080px) {
  #dgs-department-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 640px) {
  #dgs-department-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* ── Sleek Department Cards (Exact Match to User Reference) ── */
.favorite-card-shell[data-dgs-department-card] {
  position: relative;
  display: block;
  min-height: auto;
}

.favorite-card-shell[data-dgs-department-card] .route-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 154px;
  padding: 24px 24px 22px 24px;
  border-radius: 22px;
  border: 1px solid rgba(196, 205, 217, 0.9);
  background: #ffffff;
  box-shadow: 0 4px 18px rgba(15, 30, 51, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  text-decoration: none;
  overflow: hidden;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
              box-shadow 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
              border-color 180ms ease;
}

.favorite-card-shell[data-dgs-department-card] .route-card:hover,
.favorite-card-shell[data-dgs-department-card] .route-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(26, 51, 86, 0.28);
  box-shadow: 0 16px 36px rgba(15, 30, 51, 0.08);
}

/* Top Header Row: Avatar + Title & Subtitle */
.favorite-card-shell[data-dgs-department-card] .route-card-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-right: 38px; /* space for top-right star */
}

/* Avatar Box */
.favorite-card-shell[data-dgs-department-card] .route-card-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 14px;
  background: #f1f5f9;
  border: 1px solid rgba(203, 213, 225, 0.85);
  color: #0f1e33;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  text-transform: lowercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Title & Subtitle */
.favorite-card-shell[data-dgs-department-card] .route-card-title-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.favorite-card-shell[data-dgs-department-card] .route-card strong {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.018em;
  color: #0f233d;
  text-wrap: balance;
}

.favorite-card-shell[data-dgs-department-card] .route-card-subtle {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: #334155;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

/* Bottom Row with Program Pill */
.favorite-card-shell[data-dgs-department-card] .route-card-pills {
  display: flex;
  align-items: center;
  margin-top: 18px;
}

.favorite-card-shell[data-dgs-department-card] .route-card-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 16px;
  border-radius: 999px;
  background: #eef2f6;
  border: 1px solid rgba(203, 213, 225, 0.85);
  color: #0f1e33;
  font-size: 0.82rem;
  font-weight: 780;
  letter-spacing: 0.01em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

/* Top-Right Favorite Button (Circular Star) */
.favorite-card-shell[data-dgs-department-card] .favorite-toggle {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(203, 213, 225, 0.9);
  background: #ffffff;
  color: #475569;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.favorite-card-shell[data-dgs-department-card] .favorite-toggle:hover {
  transform: scale(1.08);
  border-color: rgba(26, 51, 86, 0.35);
  color: #0f1e33;
}

.favorite-card-shell[data-dgs-department-card] .favorite-toggle.is-active {
  color: #f59e0b;
  border-color: #f59e0b;
  background: #fffbeb;
}

/* ── Score Cell Styling ── */
.detail-metric-value.is-min-score {
  color: var(--primary, #1a3356);
  font-weight: 900;
}

.detail-metric-value.is-max-score {
  color: #1e293b;
  font-weight: 800;
}

.detail-metric-value.is-empty {
  color: #94a3b8;
  font-weight: 600;
  font-size: 0.78rem;
}

.detail-program-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.detail-program-actions .detail-fee-link,
.detail-program-actions .detail-curriculum-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.detail-program-actions .detail-fee-link {
  border: 1px solid #15803d;
  background: #f0fdf4;
  color: #15803d;
}

.detail-program-actions .detail-fee-link:hover,
.detail-program-actions .detail-fee-link:focus-visible {
  background: #15803d;
  color: #fff;
}

.detail-program-actions .detail-curriculum-link {
  border: 1px solid #315d8d;
  background: #eef5fb;
  color: #315d8d;
}

.detail-program-actions .detail-curriculum-link:hover,
.detail-program-actions .detail-curriculum-link:focus-visible {
  background: #315d8d;
  color: #fff;
}

/* ── Mobile Layout for DGS 8-Column Grid ── */
@media (max-width: 900px) {
  .detail-results-table thead tr,
  .detail-results-row {
    display: grid;
    grid-template-columns: 22fr 20fr 8fr 8fr 8fr 8fr 13fr 13fr;
  }
}

@media (max-width: 680px) {
  .favorite-card-shell[data-dgs-department-card] .route-card {
    padding: 18px 20px;
    min-height: 146px;
    border-radius: 18px;
  }

  .detail-results-table colgroup,
  .detail-results-table thead {
    display: none;
  }

  .detail-results-table tbody {
    display: grid;
    gap: 10px;
    padding: 8px;
  }

  .detail-results-row {
    display: grid;
    grid-template-columns: 0.65fr 0.6fr 0.6fr 0.8fr 1.45fr 1.45fr;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #c5d0dc;
    border-radius: 8px;
    background: #f8fafc;
    box-shadow: 0 3px 10px rgba(15, 30, 51, 0.06);
  }

  .detail-results-row:nth-child(even),
  .detail-results-row:hover {
    background: #f8fafc;
  }

  .detail-results-cell {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .detail-results-cell + .detail-results-cell {
    border-left: 0;
  }

  .detail-results-cell-university,
  .detail-results-cell-program {
    grid-column: 1 / -1;
    padding: 11px 12px;
    text-align: left;
  }

  .detail-results-cell-university {
    padding-bottom: 8px;
    border-bottom: 1px solid #d6dee8;
    background: #edf2f7;
  }

  .detail-results-cell-program {
    padding-top: 8px;
    border-bottom: 1px solid #c5d0dc;
  }

  .detail-results-cell-year,
  .detail-results-cell-metric,
  .detail-results-cell-occupancy {
    display: block;
    min-width: 0;
    padding: 0 2px 7px;
    border-right: 1px solid #d3dbe5;
    text-align: center;
  }

  .detail-results-cell-year {
    grid-column: 1;
  }

  .detail-results-cell[data-label="Kont."] {
    grid-column: 2;
  }

  .detail-results-cell[data-label="Yerl."] {
    grid-column: 3;
  }

  .detail-results-cell-occupancy {
    grid-column: 4;
  }

  .detail-results-cell[data-label="Taban Puan"] {
    grid-column: 5;
  }

  .detail-results-cell[data-label="Tavan Puan"] {
    grid-column: 6;
    border-right: 0;
  }

  .detail-results-cell-year::before,
  .detail-results-cell-metric::before,
  .detail-results-cell-occupancy::before {
    display: flex;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0 2px;
    border-bottom: 1px solid #c5d0dc;
    color: #526176;
    background: #e2e8f0;
    content: attr(data-label);
    font-size: 0.55rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .detail-results-cell[data-label="Taban Puan"]::before {
    content: "Taban P.";
  }

  .detail-results-cell[data-label="Tavan Puan"]::before {
    content: "Tavan P.";
  }

  .detail-year-stack,
  .detail-metric-stack,
  .detail-occupancy-stack {
    gap: 0;
    width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .detail-year-line,
  .detail-metric-line,
  .detail-occupancy-slot {
    width: 100%;
    height: 40px;
    min-height: 40px;
    padding: 2px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 0;
    line-height: 1.05;
  }

  .detail-year-line:last-child,
  .detail-metric-line:last-child,
  .detail-occupancy-slot:last-child {
    border-bottom: 0;
  }

  .detail-year-line {
    font-size: 0.61rem;
  }

  .detail-metric-value {
    overflow-wrap: anywhere;
    white-space: normal;
    font-size: 0.59rem;
    line-height: 1.08;
    text-align: center;
  }

  .detail-occupancy-ring {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
  }

  .detail-occupancy-ring::before {
    inset: 4px;
  }

  .detail-occupancy-value {
    font-size: 0.48rem;
  }

  .detail-occupancy-empty {
    font-size: 0.46rem;
    line-height: 1.02;
  }
}
