/* Reset */
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body, html { height: 100%; font-family: Arial, sans-serif;font-size: 17px }

  /* Background */
  
  

  .content {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 20px;
  }

  .container {
    position: relative;
  }

.bookingjadwallain{
  position:relative;
  padding:10px 20px;
  border-radius:8px;
  color:#fff;
  font-weight:600;
  text-decoration:none;
  background: transparent; /* isi transparan */
  cursor:pointer;
  transition:0.3s;
  isolation:isolate;
  text-decoration: none;
  color:black;
}

.bookingjadwallain::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px; /* ketebalan border */
  background: linear-gradient(90deg, #007bff, #ffeb3b);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index:-1;
}



.btn-login{
  position:relative;
  padding:10px 20px;
  border-radius:8px;
  color:#fff;
  font-weight:600;
  text-decoration:none;
  background: transparent; /* isi transparan */
  cursor:pointer;
  transition:0.3s;
  isolation:isolate;

}

.btn-login::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px; /* ketebalan border */
  background: linear-gradient(90deg, #007bff, #ffeb3b);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index:-1;
  text-decoration:none;
  color: white;
}

.btn-login:hover{
  background: rgba(255,255,255,0.08);
  text-decoration:none;
  color: white;
}

.logoheader
{
  width:200px;padding:10px;border-radius: 35px;
}

.topbarkanan
{
  text-align: right;width: 50%;
}

.topbarkiri
{
  width: 50%;
}

.topbarkanan2
{
  text-align: right;width: 50%;
}

.topbarkiri2
{
  width: 50%;
}

.judulhalaman
{
  font-size: 80px;
  line-height: 1.1;
  font-weight: bold;
  margin-top: 20px;
}
.deskripsihalaman
{
  font-size: 20px;
}

.panelputih
{
  background: #eaeaea;z-index: 5;position: relative;
  margin-top: 20px;
  padding: 20px;
}


/* Container tab */
.tab-container {
  width: 100%;
}

/* Pastikan selalu sejajar */
.custom-tabs {
  display: flex;
  flex-wrap: nowrap !important; /* jangan sampai turun ke bawah */
  border-bottom: 1px solid #ddd; /* garis halus di bawah semua tab */
}

/* Styling tab */
.custom-tabs .nav-link {
  border: none !important;
  color: #333;
  margin: 0 15px;
  position: relative;
  background: transparent;
  text-decoration: none; color:black ;
  font-size: 28px ;
  font-weight: 700 ;
}

/* underline aktif lebih tebal */
.custom-tabs .nav-link.active
{
  background-color: #ffffff00 !important;
}
.custom-tabs .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -3px; /* sedikit turun */
  left: 0;
  width: 100%;
  height: 6px; /* lebih tebal */
  background: linear-gradient(90deg,rgba(0, 57, 189, 0.98) 0%, rgba(0, 255, 204, 1) 45%, rgba(255, 247, 0, 1) 81%);
  
}

/* hover efek */
.custom-tabs .nav-link:hover {
  color: #333;
}

.container-table
{
  background:white;
  padding: 20px;
  border-radius: 10px;
   box-shadow: 5px 5px 10px gray;
}



/* Struktur tabel */
.custom-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
}

.custom-table thead th {
  padding: 14px 18px;
  border-bottom: 1px solid #e9ecef;
  font-weight: 600;
  color: #212529;
  background: #fff;
}

.custom-table tbody td {
  padding: 12px 18px;
  vertical-align: middle;
  color: #212529;
  border-bottom: none;
  background: transparent;
}

.custom-table tbody tr + tr td {
  border-top: 1px solid rgba(0,0,0,0.04);
}

/* Hover effect dengan garis atas & bawah gradient */
.custom-table tbody tr:hover {
  background-color: white;
  background-image:
    linear-gradient(to right, #004aad, #00e0c6),
    linear-gradient(to right, #004aad, #00e0c6);
  background-size: 100% 3px, 100% 3px;
  background-position: top left, bottom left;
  background-repeat: no-repeat;
}

/* Freeze kolom pertama */
.sticky-col {
  position: sticky;
  left: 0;
  background: #fff;  /* default putih solid */
  z-index: 1;
  color: #000;
  border-right: 1px solid #dee2e6;
  box-shadow: 2px 0 4px rgba(0,0,0,0.05);

}

/* Header sticky lebih tinggi */
.custom-table thead .sticky-col {
  z-index: 3;
  background: white;
}

/* Saat baris hover, ikutkan background ke sticky col */
.custom-table tbody  .sticky-col {
  background: white;
}

/* Saat baris hover, ikutkan background ke sticky col */
.custom-table tbody tr:hover .sticky-col {
  background: white;
}

/* Responsif */
.table-wrapper {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(22,28,37,0.06);
}

.table-responsive {
  overflow-x: auto;
}

.custom-table th,
.custom-table td {
  white-space: nowrap;
}


/* Slider */

  .slick-slide {
      margin: 0px 20px;
  }

  .slick-slide img {
      width: 100%;
  }

  .slick-slider
  {
      position: relative;
      display: block;
      box-sizing: border-box;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
              user-select: none;
      -webkit-touch-callout: none;
      -khtml-user-select: none;
      -ms-touch-action: pan-y;
          touch-action: pan-y;
      -webkit-tap-highlight-color: transparent;
  }

  .slick-list
  {
      position: relative;
      display: block;
      overflow: hidden;
      margin: 0;
      padding: 0;
  }
  .slick-list:focus
  {
      outline: none;
  }
  .slick-list.dragging
  {
      cursor: pointer;
      cursor: hand;
  }


  .slick-slider .slick-track,
  .slick-slider .slick-list
  {
      -webkit-transform: translate3d(0, 0, 0);
         -moz-transform: translate3d(0, 0, 0);
          -ms-transform: translate3d(0, 0, 0);
           -o-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
  }

  .slick-track
  {
      position: relative;
      top: 0;
      left: 0;
      display: block;
  }
  .slick-track:before,
  .slick-track:after
  {
      display: table;
      content: '';
  }
  .slick-track:after
  {
      clear: both;
  }
  .slick-loading .slick-track
  {
      visibility: hidden;
  }

  .slick-slide
  {
      display: none;
      float: left;
      height: 100%;
      min-height: 1px;
  }
  [dir='rtl'] .slick-slide
  {
      float: right;
  }
  .slick-slide img
  {
      display: block;
  }
  .slick-slide.slick-loading img
  {
      display: none;
  }
  .slick-slide.dragging img
  {
      pointer-events: none;
  }
  .slick-initialized .slick-slide
  {
      display: block;
  }
  .slick-loading .slick-slide
  {
      visibility: hidden;
  }
  .slick-vertical .slick-slide
  {
      display: block;
      height: auto;
      border: 1px solid transparent;
  }
  .slick-arrow.slick-hidden {
      display: none;
  }

  /* CSS Lainnya */
  .heading
  {
    padding: 0px 150px 0px 150px;
    background:black;
    height:226px;

  }
  .headingkiri
  {
    color:white;
    padding:30px 0px 30px 0px;
    vertical-align: middle;
    display: table-cell;
  }
  .headingkanan
  {
    width: 100%;
  }
  .gambarheading
  {
    height:226px;
  }
  .konten
  {
    padding:50px 100px 50px 100px;
  }
  .boxlist
  {
    background:white;padding:20px;box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;font-size:13px;
    margin: 10px;
    min-height:350px;
  }

  .footer
  {
    background: linear-gradient(180deg, rgba(6,125,191,1) 50%, rgba(3,32,50,1) 100%);
    padding: 30px 40px 0px 40px;
    color:white;
  }


/* Mobile (maks 768px) */
@media (max-width: 768px) {



  .custom-tabs .nav-link {
    font-size: 18px;
   
  }

  .custom-table {
    font-size: 10px;
    margin: 0px;
  }

  .logoheader
  {
    width:100%;padding:10px;border-radius: 35px;
  }

  .topbarkanan
  {
    text-align: right;
    width: 60%;

  }
  .topbarkiri
  {
    width: 40%;

  }
  .judulhalaman
  {
    font-size: 50px;
    line-height: 1.1;
    font-weight: bold;
    margin-top: 90px;
  }
  .deskripsihalaman
  {
    font-size: 17px;
  }
  .bookingjadwallain{
    font-size: 10px;
  }


}


@media (min-width:484px) and (max-width:749px)
{
  .heading
  {
    padding: 0px 25px 0px 25px;
    height:456px;

  }
}

@media(max-width:483px)
{
  .heading
  {
    padding: 0px 0px 0px 0px;
    height:456px;

  }
  .headingkiri
  {
    
    padding:30px 20px 30px 20px;
    
  }
  .gambarheading
  {
    height:226px;
    width: 100%;
  }

  .konten
  {
    padding:50px 30px 50px 30px;
  }

  .boxlist
  {
    background:white;padding:20px;box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;font-size:11px;
    margin: 10px 0px 10px 0px;
  }

}