*{
    --base: white;
    --text: black;
    --color: #046D76;
    --color1: #93C6CE;
    --color2: #333333;
    --color3: #fdc91b;
    --color4: #dfeef0;
    --color5: #3199A3;
    --merah: #d32f2f;
    --warna: #083137;
    --warna1: #3f3f3f;
}

.body-peraturan{
    background: url("/assets/peraturan/image/banner.png");
    font-family: "Inter", sans-serif;
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    position: relative;
    background-size: cover;

}

.peraturan{
    /* border: 2px var(--text) solid; */
    margin: 8% 7%;
    /* display: flex; */
}

.peraturan .title .name{
    color: var(--color5);
    font-size: 44px;
    font-weight: 800;
}

.peraturan .title p{
    font-size: 20px;
    color: var(--warna);
    line-height: 30px;
    font-weight: 500;
    width: 80%;
}

/* DATA */
.data{
    background-color: var(--base);
    border-radius: 20px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.575);
    padding: 2% 3%;
}

.data .header{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    border: 1px solid var(--color);
    border-radius: 10px;
}

.data .header a{
    text-decoration: none;
    color: var(--color);
    font-size: 14px;
    font-weight: 600;
}

.data .header img{
    width: 40px;
    height: 40px;
    margin-right: 0;
    align-items: end;
    justify-content: end;

}

.data .content .search{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  font-weight: 500;
  font-size: 16px;
  color: var(--color2);
  margin-bottom: 15px;
}

.data .content .search i{
  font-size: 30px;
  color: var(--color);
}

.data .content .search input{
  border: 1px solid var(--color2);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
  transition: width 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  width: 220px;       
  max-width: 100%;
  box-sizing: border-box;
}

.data .content .search input:focus{
  box-shadow: 0 6px 18px rgba(4,109,118,0.08);
  border-color: var(--color);
}

.blue-line {
  border: none;                
  height: 20px;                
  background-color: #d6ecf5;   
  border-bottom: 1px solid #000;  
} 

.data .content table {
  width: 100%;
  border-collapse: collapse;    
  flex-wrap: wrap;
}

.data .content table a{
  color: var(--color);
}


.data .content table tr {
  display: flex;
  table-layout: fixed;
  justify-content: space-between;
  align-items: center;
  background-color: #ffffff;
  padding: 10px;
  border-bottom: 1px solid #e0e0e0;
}

.data .content table tr:hover {
  background-color: #e6e6e6; /* warna isi baris */
}

.data .content table td{
  display: flex;
  /* text-align: center; */
  /* justify-content: center;  */
  align-items: start; 
  padding: 20px 0;
}

.data .content table td i{
  font-size: 30px;
}

.data .content table td .title{
  margin-left: 15px;
}

.data .content h6 {
  font-size: 23px;
  font-weight: 700;
  color: var(--warna);
  margin-bottom: 5px;
}

.data .content p{
    font-size: 15px;
    font-weight: 500;
    margin: 0;
    color: rgb(32, 32, 32);
}

.data .content table tr.animate-in:nth-child(1){ animation-delay: 0ms; }
.data .content table tr.animate-in:nth-child(2){ animation-delay: 60ms; }
.data .content table tr.animate-in:nth-child(3){ animation-delay: 120ms; }
.data .content table tr.animate-in:nth-child(4){ animation-delay: 180ms; }
.data .content table tr.animate-in:nth-child(5){ animation-delay: 240ms; }
.data .content table tr.animate-in:nth-child(6){ animation-delay: 300ms; }

/* CONTENT */
.content{
    margin-top: 20px;
}

.content a{
    font-size: 16px;
    text-decoration: none;
    color: var(--color);
}

.content span{
    font-size: 14px;
    color: var(--warna1);
}

/* PAGINATION */
.pagination{
    display:flex;
    gap:0.5rem;
    align-items:center;
    justify-content:flex-end;
    margin-top:1rem;
}

.pagination button{
    background:var(--color, #046D76);
    color:var(--base, #fff);
    border:0;
    padding:6px 12px;
    border-radius:6px;
    cursor:pointer;
    font-weight:600;
}

.pagination .page-buttons{
  display:flex;
  gap:6px;
  align-items:center;
}
.pagination .page-btn{
  background:transparent;
  color:var(--color2, #333);
  border:1px solid #ddd;
  padding:6px 10px;
  border-radius:6px;
  cursor:pointer;
  font-weight:600;
}
.pagination .page-btn.active{
  background:var(--color, #046D76);
  color:var(--base, #fff);
  border-color:var(--color, #046D76);
}
.pagination .page-btn:hover{
  border-color: var(--color, #046D76);
}

.pagination button[disabled]{
    opacity:0.5;
    cursor:default;
}

.pagination .page-info{ color: #333; font-size:14px; margin-left:0.5rem; }

/* ==========================
   Responsive tweaks for .data
   - Ensure header items stack nicely on small screens
   - Do NOT change font-size (per request)
 ========================== */

@media (max-width: 768px) {
    .peraturan .title{text-align: justify; margin-top: 20%;}
    .data{
        padding: 1.4% 2%;
        margin: 0 1%;
    }

    .data .header{
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px;
        padding: 6px 8px;
    }

    .data .header a{
        display: inline-block;
    }

    .data .header img{
        width: 36px;
        height: 36px;
        margin-right: 8px;
    }

    .data .content .search{ width: 100%; max-width: none; justify-content: end;}

    .data .content{padding: 0 20px;}

    .content table tr td .title{margin: 0;}

    .content table tr td .title p{width: 100%;}

}

@media (max-width: 480px) {
    .data{
        padding: 12px;
        border-radius: 12px;
    }

    .data .header{
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 6px;
        padding: 8px;
    }

    .data .header img{
        width: 32px;
        height: 32px;
        margin-right: 0;
    }

    /* ensure the clickable link wraps naturally, keep font-size as-is */
    .data .header a{
        white-space: normal;
    }

    .peraturan .title{text-align: justify; margin-top: 20%;}
    .data .content .search{ width: 100%; justify-content: end;}
}
