
    .thumb{
      width:120px;
      height:80px;
      object-fit:cover;
      border-radius:8px;
      cursor:pointer;
      border:3px solid transparent;
      transition:0.25s;
      flex-shrink:0;
  }

  .thumb:hover{
      transform:scale(1.05);
  }

  .thumb.aktif{
      border-color:#0d6efd;
  }
    .galeri-thumbnail { 
      display: flex;
      flex-wrap: nowrap;
      /* Jangan turun ke bawah */
      gap: 10px;
      overflow-x: auto;
      /* Scroll horizontal */
      overflow-y: hidden;
      padding: 10px 0;

      scrollbar-width: thin;
      /* Firefox */
    }

    .galeri-thumbnail::-webkit-scrollbar {
      height: 8px;
    }

    .galeri-thumbnail::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 10px;
    }

    .galeri-thumbnail::-webkit-scrollbar-thumb {
      background: #0d6efd;
      border-radius: 10px;
    }

    .galeri-thumbnail::-webkit-scrollbar-thumb:hover {
      background: #0b5ed7;
    }

    .thumb {
      width: 120px;
      height: 80px;
      object-fit: cover;
      border-radius: 10px;
      cursor: pointer;
      flex-shrink: 0;
      /* Supaya ukuran tidak mengecil */
      transition: .3s;
    }

    .thumb:hover {
      transform: scale(1.05);
    }


    .detail-page {
      padding: 32px 0;
      max-width: 1200px;
      margin: 0 auto;
    }

    .detail-header {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 34px;
    }

    .detail-header h1 {
      font-size: 34px;
      font-weight: 800;
      margin: 0;
      color: #0f172a;
      position: relative;
      padding-bottom: 12px;
    }

    .detail-header h1::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 46px;
      height: 4px;
      border-radius: 4px;
      background: #2563eb;
    }

    .detail-header h1::before {
      content: "";
      position: absolute;
      left: 54px;
      bottom: 1px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #93c5fd;
    }

    .btn-back {
      position: absolute;
      left: 0;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 20px;
      border-radius: 14px;
      background: #fff;
      color: #0f172a;
      border: 1px solid #e2e8f0;
      text-decoration: none;
      font-weight: 700;
      font-size: 14.5px;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
      transition: background .15s ease;
    }

    .btn-back:hover {
      background: #f8fafc;
      color: #0f172a;
    }

    .btn-back i {
      color: #2563eb;
    }

    .detail-grid {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 24px;
      margin-bottom: 24px;
      align-items: stretch;
    }

    /* Card foto + peta (tab switch, memanfaatkan ruang yang sama) */
    .detail-card-image-wrap {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      min-height: 460px;
      background: #f1f5f9;
      box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
    }

    .image-tabs {
      position: absolute;
      top: 16px;
      left: 16px;
      z-index: 20;
      display: flex;
      gap: 4px;
      background: rgba(255, 255, 255, .92);
      backdrop-filter: blur(6px);
      padding: 4px;
      border-radius: 999px;
      box-shadow: 0 6px 16px rgba(15, 23, 42, .14);
    }

    .image-tabs button {
      border: none;
      background: transparent;
      padding: 9px 16px;
      border-radius: 999px;
      font-size: 12.5px;
      font-weight: 700;
      color: #475569;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 7px;
      transition: background .15s ease, color .15s ease;
    }

    .image-tabs button i {
      font-size: 12px;
    }

    .image-tabs button.active {
      background: #2563eb;
      color: #fff;
    }

    .image-tabs button:not(.active):hover {
      background: #eef2f7;
    }

    .tab-panel {
      display: none;
      width: 100%;
      height: 460px;
    }

    .tab-panel.active {
      display: block;
    }

    .detail-card-image {
      width: 100%;
      height: 100%;
    }

    .detail-card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .detail-card-image.no-image {
      display: grid;
      place-items: center;
      color: #93c5fd;
      font-size: 70px;
    }

    #schoolMap {
      width: 100%;
      height: 100%;
    }

    .map-empty {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      height: 100%;
      color: #94a3b8;
      text-align: center;
      padding: 0 24px;
    }

    .map-empty i {
      font-size: 38px;
      color: #cbd5e1;
    }

    .map-empty span {
      font-size: 13.5px;
      font-weight: 600;
    }

    .marker-pin {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: #2563eb;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 6px 14px rgba(37, 99, 235, .45);
      border: 2px solid #fff;
    }

    .marker-pin i {
      color: #fff;
      font-size: 14px;
    }

    .detail-card-info {
      background: #fff;
      border-radius: 24px;
      padding: 34px;
      box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
      display: flex;
      flex-direction: column;
    }

    .detail-badge {
      width: 72px;
      height: 72px;
      border-radius: 18px;
      background: linear-gradient(160deg, #2563eb, #1d4ed8);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #fff;
      margin-bottom: 18px;
      box-shadow: 0 10px 24px rgba(37, 99, 235, 0.35);
    }

    .detail-badge span.letter {
      font-size: 22px;
      font-weight: 800;
      line-height: 1;
    }

    .detail-badge span.label {
      font-size: 8.5px;
      font-weight: 700;
      letter-spacing: .5px;
      margin-top: 3px;
      opacity: .9;
    }

    .detail-badge.badge-b {
      background: linear-gradient(160deg, #f97316, #ea580c);
      box-shadow: 0 10px 24px rgba(249, 115, 22, 0.35);
    }

    .detail-badge.badge-c {
      background: linear-gradient(160deg, #eab308, #ca8a04);
      box-shadow: 0 10px 24px rgba(234, 179, 8, 0.35);
    }

    .detail-badge.badge-d,
    .detail-badge.badge-\-,
    .detail-badge.badge- {
      background: linear-gradient(160deg, #64748b, #475569);
      box-shadow: 0 10px 24px rgba(100, 116, 139, 0.3);
    }

    .detail-card-info h2 {
      font-size: 30px;
      margin: 0 0 12px;
      color: #0f172a;
      line-height: 1.15;
      font-weight: 800;
    }

    .detail-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 18px;
    }

    .detail-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 16px;
      border-radius: 999px;
      background: #eef2f7;
      color: #334155;
      font-size: 13.5px;
      font-weight: 600;
    }

    .detail-tag i {
      color: #2563eb;
      font-size: 13px;
    }

    p.description {
      color: #64748b;
      font-size: 14.5px;
      line-height: 1.8;
      margin-bottom: 24px;
    }

    .detail-meta {
      display: grid;
      grid-template-columns: repeat(2, minmax(140px, 1fr));
      gap: 14px;
      margin-top: auto;
    }

    .meta-item {
      display: flex;
      align-items: center;
      gap: 14px;
      background: #f8fafc;
      border: 1px solid #eef2f7;
      border-radius: 16px;
      padding: 14px 16px;
    }

    .meta-icon {
      flex-shrink: 0;
      width: 40px;
      height: 40px;
      border-radius: 12px;
      background: #e8eefc;
      color: #2563eb;
      display: grid;
      place-items: center;
      font-size: 15px;
    }

    .meta-item strong {
      display: block;
      font-size: 12px;
      color: #64748b;
      font-weight: 600;
      margin-bottom: 3px;
    }

    .meta-item span {
      display: block;
      font-size: 15px;
      font-weight: 700;
      color: #111827;
    }

    .meta-item span.status-aktif {
      color: #16a34a;
    }

    .meta-item span.status-aktif::before {
      content: "";
    }

    .detail-bottom {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }

    .panel {
      width: 100%;
      background: #fff;
      border-radius: 24px;
      padding: 30px;
      box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
    }

    .panel-title {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 19px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 22px;
    }

    .panel-title i {
      color: #2563eb;
      font-size: 17px;
    }

    .detail-location {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .detail-location div {
      background: #f8fafc;
      border: 1px solid #eef2f7;
      border-radius: 16px;
      padding: 18px;
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }

    .detail-location .loc-icon {
      flex-shrink: 0;
      width: 34px;
      height: 34px;
      border-radius: 10px;
      background: #e8eefc;
      color: #2563eb;
      display: grid;
      place-items: center;
      font-size: 13px;
      margin-top: 2px;
    }

    .detail-location strong {
      display: block;
      font-size: 12px;
      color: #64748b;
      font-weight: 600;
      margin-bottom: 6px;
    }

    .detail-location span {
      display: block;
      font-size: 14.5px;
      color: #0f172a;
      font-weight: 700;
      line-height: 1.55;
    }

    .detail-description p {
      color: #475569;
      font-size: 14.5px;
      line-height: 1.85;
      margin: 0 0 22px;
    }

    .quote-box {
      background: #eef2ff;
      border-radius: 16px;
      margin-bottom: 50px;
      padding: 55px 22px;
    }

    .quote-box p {
      margin: 0;
      color: #2563eb;
      font-style: italic;
      font-weight: 600;
      font-size: 14.5px;
      line-height: 1.7;
    }

    .quote-box i.fa-quote-left {
      color: #93c5fd;
      margin-right: 6px;
    }

    @media (max-width: 960px) {

      .detail-grid,
      .detail-bottom {
        grid-template-columns: 1fr;
      }

      .detail-meta,
      .detail-location {
        grid-template-columns: 1fr;
      }

      .btn-back {
        position: static;
        margin-bottom: 16px;
      }

      .detail-header {
        flex-direction: column;
        align-items: flex-start;
      }
    }