@import url('https://fonts.googleapis.com/css2?family=Varela+Round&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&display=swap');

body {
	font-family: 'Varela Round', sans-serif;
  /* font-family: "Dosis", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal; */
}

p, h1, h2, h3, h4, h5, h6 {
	font-family: 'Varela Round', sans-serif !important;
}
.post-content img {
	max-width: 96%;
	height: auto;
	padding: 5px;
	border: solid thin #eee;
	border-radius: 10px;
	text-align: center;
}


  .loader {
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
  }

  /* Safari */
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  
/*  tabelku */
.tabelku {
	border-radius: 10px;
	border-collapse: separate;
	width: 100%;
	border-spacing: 0;
}
.tabelku th, .tabelku td {
	padding: 6px 12px;
	vertical-align: top;
}
.tabelku td {
	border-bottom: solid thin #dee2e6 !important;
}
.tabelku th {
  vertical-align: middle;
}
.tabelku thead {
	border-radius: 10px !important;
	border: solid thin #dee2e6 !important;
	background-color: #f5f5f5 !important;
  color: #fff !important;
}

.tabelku thead tr {
	border-radius: 10px !important;
	border-bottom: solid thin #dee2e6;
	background-color: #f5f5f5;
	border-collapse: collapse;
}
.tabelku th {
	border-bottom: solid thin #dee2e6;
	border-top: solid thin #dee2e6;
}
.tabelku th:first-child{
  border-radius:10px 0 0 10px;
  border-left: solid thin #dee2e6;
}
.tabelku th:last-child{
  border-radius:0 10px 10px 0;
  border-right: solid thin #dee2e6;
}
/* -------- */
.tabelnya {
  border-radius: 10px;
  border-collapse: separate;
  width: 100%;
  border-spacing: 0;
}
.tabelnya th, .tabelnya td {
  padding: 6px 12px;
  vertical-align: top;
}
.tabelnya td {
  border-bottom: solid thin #C4DFDF;
}
.tabelnya th {
  vertical-align: middle;
}
.tabelnya thead {
  border-radius: 10px !important;
  border: solid thin #C4DFDF;
  background-color: #E3F4F4;
}

.tabelnya thead tr {
  border-radius: 10px !important;
  border: solid thin #C4DFDF;
  background-color: #E3F4F4;
  border-collapse: collapse;
}
.tabelnya th {
  border-bottom: solid thin #C4DFDF;
  border-top: solid thin #C4DFDF;
}
.tabelnya th:first-child{
  border-radius:10px 0 0 10px;
  border-left: solid thin #C4DFDF;
}
.tabelnya th:last-child{
  border-radius:0 10px 10px 0;
  border-right: solid thin #C4DFDF;
}
/* end tabel */
/* button */
.btn-purple {
  color: #fff;
  background-color: #8231D3;
}
.btn-purple:hover {
  color: #fff;
  background-color: #5840FF;
}
.btn-info-light {
  color: #fff;
  background-color: #00AAFF;
}
.btn-info-light:hover {
  color: #fff;
  background-color: #5840FF;
}
/* border-radius */
.btn {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.input-group .btn {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-right: 2px;
}
.input-group input, .input-group select {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-right: 2px;
}
.btn-lg {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.input-group .btn-lg {
  border-top-left-radius: 0px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 15px;
}
.btn-sm {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.input-group .btn-sm {
  border-top-left-radius: 0px;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 8px;
}
.btn-xs {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.input-group .btn-xs {
  border-top-left-radius: 0px;
  border-top-right-radius: 5px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 5px;
}
/* box urutkan */
.box
  {
    width:100%;
    padding:10px 2%;
    background-color:#fff;
    border:1px solid #ccc;
    border-radius:5px;
  }
  #page_list li
  {
    padding:10px 16px;
    background-color:#f9f9f9;
    border:1px dotted #ccc;
    cursor:move;
    margin-top:8px;
  }
  #page_list li.ui-state-highlight
  {
    padding:8px 16px;
    background-color:#ffffcc;
    border:1px dotted #ccc;
    cursor:move;
    margin-top:8px;
  }


/* Backgroud Color */
.bg-purple {
  color: #fff;
  background-color: #8231D3 !important;
}
/* Text Color */
.text-purple {
  color: #8231D3 !important;
}
.bg-haqi {
    color: #ccb43e;
    background-color: #8231D3 !important;
}
.text-haqi {
  color: #ccb43e;
}
.text-haqi-dark {
  color: #8231D3;
}

/* alert */
.alert, .alert-info, .alert-warning, .alert-success, .alert-danger {
  border-radius: 15px;
}
.dropdown-item {
	white-space: normal;
  width: auto;
}
pre.language-php, pre.language-js, pre.language-markup {
  background-color: #f5f5f5;
  border:  solid thin #eee;
  margin-bottom: 1em;
}

/* Styles moved from inline view blocks */
.konten img {
  width: auto;
  height: auto;
  max-width: 100%;
  border-radius: 10px;
}

/* Banner helper used by sections that reference data-image-src */
.banner-image {
  min-height: 220px;
  background-size: cover;
  background-position: center;
}

.shape-rellax-right {
  bottom: -0.75rem;
  right: -0.75rem;
  width: 98%;
  height: 98%;
  z-index: 0;
}

/* Ensure cards inside a positioned container sit above decorative shapes */
.position-relative > .card {
  position: relative;
  z-index: 2;
}

.map iframe {
  width: 100%;
  height: 100%;
  border: 1px;
}

.btn-play-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.embed-fullwidth {
  width: 100% !important;
}

.whatsapp-link {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  transition: transform 0.3s ease-in-out;
}
.whatsapp-link a, a.whatsapp-link {
  color: green;
  background-color: #f5f5f5;
  border: solid thin #eee;
  border-radius: 20px;
  padding: 10px 20px;
}
.whatsapp-link:hover {
  transform: scale(1.1);
}

.news-list-thumb {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
}
.news-card {
  transition: box-shadow .2s ease;
  border-radius: .65rem;
}
.news-card:hover {
  box-shadow: 0 5px 18px rgba(0,0,0,0.08);
}
.news-card h5 a:hover {
  color: #0d6efd;
}

/* Equal-height news cards and truncated summaries */
.news-card {
  display: flex;
  align-items: stretch;
}
.news-card .card-body {
  display: flex;
  gap: 1rem;
  padding: 0.75rem;
  width: 100%;
  align-items: stretch;
}
.news-thumb, .news-list-thumb {
  width: 160px;
  height: 120px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.news-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
.news-content .meta { color: #6c757d; }
.news-summary {
  margin-top: .25rem;
  color: #6c757d;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* show 3 lines then ellipsis */
  line-clamp: 3;
}
.news-card.h-100 { height: 100%; }

/* ensure cards in a grid can be matched in height */
.card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Small helpers used in print/cetak */
.td-width-1-8cm { width: 1.8cm; }
.img-width-1-5cm { width: 1.5cm; height: auto; }

@media (max-width: 768px) {
    .site-hider {
        display: none;
    }
}

  :root {
    --law-maroon: #7b1113;
    --law-gold: #d4af37;
    --law-black: #1a1a1a;
    --law-gray: #f8f9fa;
  }

  /* Override Warna Default Template ke Tema Lawyer */
  .text-warning { color: var(--law-gold) !important; }
  .bg-success { background-color: var(--law-maroon) !important; }
  
  /* Override Button Success menjadi Gold (Sesuai Permintaan Penyesuaian Warna) */
  .btn-success { 
      background-color: var(--law-gold) !important; 
      border-color: var(--law-gold) !important; 
      color: #000 !important; 
      font-weight: bold;
  }
  .btn-success:hover {
      background-color: #fff !important;
      color: var(--law-gold) !important;
  }
  
  /* Text Styles */
  h1, h2, h3, h4, h5 { font-family: "Playfair Display", serif; }
  
  /* Class asli anda 'text-haqi', kita pastikan warnanya kontras (misal Maroon atau Gold) */
  /* Namun karena Anda minta 'kecuali tagline', saya biarkan default atau set ke Maroon jika belum ada style */
  .text-haqi { color: var(--law-gold) !important; } 
  
  /* --- FITUR BARU: Hero Text Background Transparan --- */
  .hero-text-bg {
    background: rgba(0, 0, 0, 0.65); /* Hitam transparan 65% */
    padding: 2.5rem;
    border-radius: 8px;
    border-left: 5px solid var(--law-gold); /* Aksen Emas di kiri */
    backdrop-filter: blur(4px); /* Efek blur di belakang box */
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  }
  /* Memastikan teks paragraf di dalam box berwarna putih */
  .hero-text-bg p {
      color: #fff !important;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
  }
  
  /* Adjust tombol di dalam hero */
  .hero-text-bg .btn {
      margin-top: 15px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.4);
  }

  @media (max-width: 768px) {
    .hero-text-bg { padding: 1.5rem; }
  }
