  :root {
    --primary: rgb(14, 159, 141);
    --white: rgb(255, 255, 255);
  }

  /* ==========================
        PAGE HEADER
========================== */
  .page-header {
    position: relative;
    margin: 21px 0px 0px !important;
    width: 100%;
    height: 205px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background:
      linear-gradient(rgba(14, 159, 141, .55), rgba(14, 159, 141, .55)),
      url('../../assets/img/gedung.jpeg') center center/cover no-repeat;
  }

  .page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15);
  }

  .page-header-content {
    position: relative;
    z-index: 2;
    padding: 20px;
  }

  .page-header h1 {
    color: rgb(255, 255, 255);
    font-size: 42px;
    font-weight: 700;
    margin: 0 0 1px;
    line-height: 1;
  }

  .page-breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1px;
    font-size: 15px;
    color: rgba(255, 255, 255, .85);
  }

  .page-breadcrumb a {
    color: rgba(255, 255, 255, .85);
    text-decoration: none;
    transition: .3s;
  }

  .page-breadcrumb a:hover {
    color: #fff;
  }

  .page-breadcrumb span {
    color: #fff;
  }

  .dip-page-title{
    background:#0e9f8d;
    color:#fff;
    font-size:22px;
    font-weight:700;
    padding:0px 25px;
    margin:0 0 30px;
    border-radius:8px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; 
}

/* ==========================================
   DIP CONTAINER
========================================== */

.dip-container{
    width:100%;
    background:#ffffff;
    padding:20px;
    margin:10px 10px 40px;
}

/* Jarak antar card */
.dip-table-card{
    margin-bottom:10px;
}

.dip-table-card:last-child{
    margin-bottom:0;
}

/* Responsive */
@media (max-width:992px){

    .dip-container{
        padding:20px;
    }

    .dip-page-title{
        font-size:26px;
    }

}

@media (max-width:768px){

    .dip-container{
        padding:15px;
        border-radius:8px;
    }

    .dip-page-title{
        font-size:22px;
        margin-bottom:20px;
    }

}

/*==================================
    SEARCH DIP
===================================*/

.dip-search-card{
    background:#eef6fc;
    border:1px solid #cfdfee;
    border-radius:10px;
    padding:18px 20px;
    margin-bottom:30px;
}

.dip-search-title{
    font-size:15px;
    font-weight:700;
    color:#003b70;
    margin-bottom:12px;
}

.dip-search-form{
    max-width:430px;
}

.dip-search-form input{
    height:42px;
    border-radius:8px;
    border:1px solid #b7d0ea;
    box-shadow:none;
}

.dip-search-form input:focus{
    border-color:#2f80ed;
    box-shadow:0 0 0 3px rgba(47,128,237,.12);
}

.dip-search-info{
    display:block;
    margin-top:10px;
    color:#5d7084;
    font-size:13px;
}

/*=========================================
PERMOHONAN INFORMASI
=========================================*/

.dip-form-card{

    background:#fff;
    border:1px solid #dce8ef;
    border-radius:5px;
    padding:10px;
}

.dip-form-info{
    font-size: small;
    background:#eefaf8;
    border-bottom:2px solid #0e9f8d;
    padding:10px;
    margin-bottom:20px;
    border-radius:3px;
}

.dip-form-info h4{

    color:#0e9f8d;
    font-weight:700;
    margin-bottom:5px;
}

.dip-form-info p{
    margin:0;
    color:#666;
    line-height:1.8;
}

.dip-form-group{
    margin-bottom:20px;
}

.dip-form-group label{
  font-size: 14px;
    font-weight:600;
    margin-bottom:2px;
    display:block;
    color:#444;
}

.dip-form-group .form-control{
    border-radius:6px;
    border:1px solid #ced9df;
    height:30px;
    box-shadow:none;
}

.dip-form-group textarea.form-control{
    height:auto;
}

.dip-form-group .form-control:focus{
    font-size: 12px;
    border-color:#0e9f8d;
    box-shadow:0 0 0 .15rem rgba(14,159,141,.15);
}

/*==================================================
VISI MISI
==================================================*/

.dip-card{
    background:#fff;
    border:1px solid #dbe7f3;
    border-radius:12px;
    padding:35px;
    height:100%;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
    transition:.3s;
}

.dip-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.dip-card-body{
    padding:0px;
}

.dip-card-body p{
    font-size:16px;
    color:#5d6976;
    line-height:2;
    margin-bottom:18px;
}

/* HEADER */

.dip-card-header{
    background:linear-gradient(135deg,#0E9F8D,#22b7a6);
    color:#fff;
    display:flex;
    align-items:center;
    /* gap:18px; */
    padding:0px 5px;
}

.dip-card-header h3{
    margin:0;
    font-size:14px;
    font-weight:700;
}

/* ICON */
.dip-card-icon{
    width:30px;
    height:30px;
    border-radius:14px;
    background:rgba(255,255,255,.18);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    color:#fff;
    flex-shrink:0;
}

.dip-icon{
    width:40px;
    height:40px;
    margin:0 auto 10px;
    border-radius:50%;
    background:#0e9f8d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.dip-title{
    text-align:center;
    font-size:28px;
    font-weight:700;
    color:#0e9f8d;
    margin-bottom:25px;
}

.dip-visi{
    text-align:center;
    font-size:18px;
    line-height:1.9;
    color:#555;
    font-weight:500;
}

.dip-list{
    list-style:none;
    padding:0;
    margin:0;
}

.dip-list li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
    color:#555;
    line-height:1.8;
}

.dip-list li i{
    color:#0e9f8d;
    margin-top:4px;
    font-size:18px;
    flex-shrink:0;
}

.dip-list li:last-child{
    margin-bottom:0;
}

/* ==========================================
   DIP TABLE
========================================== */

.dip-table-card{
    background:#fff;
    border:1px solid #d8e4ee;
    border-radius:10px;
    overflow:hidden;
    margin-bottom:35px;
    box-shadow:0 4px 15px rgba(0,0,0,.05);
}

.dip-table-header{
    background:#0e9f8d;
    padding:15px 20px;
    border-bottom:1px solid #d8e4ee;
}

.dip-table-header h5{
    margin:0;
    color:#fff;
    font-size:20px;
    font-weight:600;
}

.dip-table{
    margin:0;
    min-width:1700px;
    border-collapse:collapse;
}

.dip-table thead th{
    background:rgba(216, 216, 216, 0.55);
    color:#0d9488;
    font-size:12px;
    font-weight:600;
    text-align:center;
    vertical-align:middle;
    white-space:normal;
    padding:12px;
    border:1px solid #0d9488;
}

.dip-table tbody td{
    padding:12px;
    vertical-align:middle;
    font-size:10px;
    color:#444;
}

.dip-table tbody tr:nth-child(even){
    background:#fafcfd;
}

.dip-table tbody tr:hover{
    background:#eefaf8;
}

  @media(max-width:768px) {
    .page-header {
      height: 180px;
    }

    .page-header h1 {
      font-size: 28px;
    }

    .page-breadcrumb {
      font-size: 13px;
    }
  }

  /*=================================================
SECTION STRUKTUR ORGANISASI
==================================================*/

  .struktur-section {
    padding: 5px 0;
    background: #f6f8fb;
  }

  .section-title {
    text-align: center;
    max-width: 850px;
    margin: auto auto 10px;
  }

  .badge-title {
    display: inline-block;
    background: rgba(14, 159, 141, .12);
    color: rgb(14, 159, 141);
    padding: 0px 18px;
    border-radius: 30px;
    font-weight: 600;
    margin-bottom: 15px;
  }

  .section-title h2 {
    font-size: 38px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 20px;
  }

  .section-title p {
    color: #6b7280;
    line-height: 1.8;
    font-size: 16px;
  }

  .struktur-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);
  }

  .gambar-wrapper {
    padding: 35px;
    background: rgb(14, 159, 141);
  }

  .struktur-img {
    width: 100%;
    display: block;
    border-radius: 15px;
    border: 1px solid #ddd;
    transition: .4s;
  }

  .struktur-img:hover {
    transform: scale(1.02);
  }

  .deskripsi {
    padding: 40px;
    border-top: 1px solid #eee;
  }

  .deskripsi h3 {
    color: rgb(14, 159, 141);
    font-size: 30px;
    margin-bottom: 20px;
    font-weight: 700;
  }

  .deskripsi p {
    color: #555;
    line-height: 1.9;
    margin-bottom: 30px;
  }

  .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
  }

  .info-box {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 25px;
    border-radius: 15px;
    background: #f8fafc;
    transition: .35s;
  }

  .info-box:hover {
    background: rgb(14, 159, 141);
    transform: translateY(-6px);
  }

  .info-box:hover h5,
  .info-box:hover p,
  .info-box:hover .icon {
    color: #fff;
  }

  .icon {
    width: 65px;
    height: 65px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: rgb(14, 159, 141);
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
  }

  .text h5 {
    font-size: 20px;
    margin-bottom: 10px;
    color: #222;
    font-weight: 700;
  }

  .text p {
    margin: 0;
    line-height: 1.7;
    color: #666;
  }

  .pdf-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 15px;
  }

  .btn-pdf {
    background: #0e9f8d;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    transition: .3s;
  }

  .btn-pdf:hover {
    background: #0b7f71;
    color: #fff;
  }

  .btn-download {
    background: #2563eb;
  }

  .btn-download:hover {
    background: #1d4ed8;
  }

  .struktur-pdf {
    width: 100%;
    height: 900px;
    border: none;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  }

  @media(max-width:992px) {
    .section-title h2 {
      font-size: 30px;
    }

    .deskripsi {
      padding: 30px;
    }
  }

  @media(max-width:768px) {
    .struktur-section {
      padding: 50px 0;
    }

    .gambar-wrapper {
      padding: 15px;
    }

    .section-title h2 {
      font-size: 25px;
    }

    .deskripsi h3 {
      font-size: 24px;
    }

    .info-box {
      flex-direction: column;
      text-align: center;
      align-items: center;
    }
  }