/*------------------------------------------------------------------
Project:  SpatialHighlights
Version:  
Last change:  
Assigned to:  Hamdandih
Primary use:  Madhava Persada 
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[LAYOUT]

-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[COLOR CODES]

# Text Color      :  
# Primary Color 01:  
# Primary Color 02:   
# Primary Color 03:  

------------------------------------------------------------------*/
/*------------------------------------------------------------------
[TYPOGRAPHY]

Body            : 16px/1.6 '', Arial, sans-serif;
Title           : 18px/1.6 '', Arial, sans-serif;
Paragrap        : 18px/1.6 '', Arial, sans-serif;
Input, textarea : 14px/1.6 '', Arial, sans-serif;
-------------------------------------------------------------------*/

/*//////////////////////////////////////////////////////////////////
[ FONT ]*/

/* Definisikan variabel Light Mode (Default) - (TIDAK PERLU DIUBAH) */
:root {
    --primary-color: #f84626;
    --overlay: rgba(0,0,0,0.5);
    --text-primary: #222;        /* DEFAULT: Dark Text */
    --text-secondary: #555;
    --border-light: #050303;
    --shadow-color: rgba(0,0,0,0.05);
    --link-color: #222;
    --link-hover: var(--primary-color);
    --overlay-start: rgba(0,0,0,1);    /* Hitam pekat */
    --overlay-end: rgba(0,0,0,0);      /* Transparan */
}


/* 2. Dark Mode Berdasarkan Klik Tombol (Override Preferensi Sistem) */
/* Blok ini DITERAPKAN di atas semua, untuk MEMAKSA Dark Mode */
body.dark-mode-active {
    --bg-light: #121212;
    --bg-dark: #000000;
    --overlay: rgba(0,0,0,0.5);
    --text-primary: #ffffff;
    --text-secondary: #ffffff;
    --border-light: #333333;
    --shadow-color: rgba(255,255,255,0.05);
    --link-color: #bb86fc;
    --link-hover: #ffffff;
    --overlay-start: rgba(255, 255, 255, 0.9); 
    --overlay-end: rgba(255, 255, 255, 0);
    --bg-mirror: #ffffffd7;
    --text-white: #ffffff;

}

/* 3. Light Mode Berdasarkan Klik Tombol (Override Preferensi Sistem) */
/* Blok ini DITERAPKAN di atas semua, untuk MEMAKSA Light Mode, bahkan jika prefers-color-scheme: dark */
body.light-mode-active {
    --bg-light: #fff;
    --bg-dark: #111;
    --text-primary: #222;
    --text-secondary: #000000;
    --border-light: #e6e6e6;
    --shadow-color: rgba(0,0,0,0.05);
    --link-color: #222;
    --link-hover: var(--primary-color);
    --overlay-start: rgba(0,0,0, 0.9); 
    --overlay-end: rgba(0,0,0, 0);
    --bg-mirror: #000000d7;
    --text-white: #ffffff;
}

/* Terapkan variabel warna dasar ke seluruh halaman/body */
body {
    /* PENTING: Menggunakan variabel --bg-light untuk latar belakang global */
    background-color: var(--bg-light) !important; 
    
    /* Menggunakan variabel --text-primary untuk warna teks global */
    color: var(--text-primary) !important;
    
    /* Tambahkan transisi agar perubahan halus saat toggle */
    /* transition: background-color 0.3s, color 0.3s;  */
}
/*------------------------------------------------------------------
[ 1 ]*/
@font-face {
  font-family: Roboto-Regular;
  src: url('../fonts/Roboto/Roboto-Regular.ttf'); 
}

@font-face {
  font-family: Roboto-Medium;
  src: url('../fonts/Roboto/Roboto-Medium.ttf'); 
}

@font-face {
  font-family: Roboto-Bold;
  src: url('../fonts/Roboto/Roboto-Bold.ttf'); 
}

@font-face {
  font-family: Roboto-Black;
  src: url('../fonts/Roboto/Roboto-Black.ttf'); 
}

/*------------------------------------------------------------------
[ 2 ]*/
@font-face {
  font-family: Lato-Regular;
  src: url('../fonts/Lato/Lato-Regular.ttf'); 
}


/*//////////////////////////////////////////////////////////////////
[ RS PLUGIN ]*/

/*------------------------------------------------------------------
[ Bootstrap ]*/
.container {max-width: 1080px;}

/*//////////////////////////////////////////////////////////////////
[ LOADDING ]*/
.animsition-loading-1 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.loader05 {
  width: 56px;
  height: 56px;
  border: 4px solid var(--primary-color);
  border-radius: 50%;
  position: relative;
  animation: loader-scale 1s ease-out infinite;
  top: 50%;
  margin: -28px auto 0 auto; }

@keyframes loader-scale {
  0% {
    transform: scale(0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 0; } 
}


/*//////////////////////////////////////////////////////////////////
[ BUTTON BACK TO TOP ]*/
.btn-back-to-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  width: 35px;
  height: 35px;
  bottom: -40px;
  right: 40px;
  background-color: var(--primary-color);
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0.6;
  cursor: pointer;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  -moz-transition: all 0.4s;
}

.symbol-btn-back-to-top {
  font-size: 18px;
  color: white;
  line-height: 1em;
}

.btn-back-to-top:hover {
  opacity: 1;
}

@media (max-width: 575px) {
  .btn-back-to-top {
    bottom: 0px;
    right: 15px;
  }
}

.show-btn-back-to-top {bottom: 0;}


/*//////////////////////////////////////////////////////////////////
[ Header ]*/

/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[ Header Desktop ]*/

/*==================================================================
[ Top-bar ]*/
.topbar {
  background-color: #111;
}

.content-topbar {
  min-height: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*---------------------------------------------*/
.left-topbar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-left: -13px;
  margin-right: -13px;
}

.left-topbar-item {
  font-family: Roboto-Regular;
  font-size: 14px;
  color: #ccc;
  line-height: 1.8;
  padding: 0 13px;
  position: relative;
  transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}

a.left-topbar-item:hover {
  color: var(--primary-color);
}


.left-topbar-item::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 10px;
  background-color: var(--bg-light);
  opacity: 0.1;
  left: 0;
  top: calc(50% - 5px);
}

.left-topbar-item:first-child:before {
  display: none;
}

/*---------------------------------------------*/
.right-topbar {
  margin-left: -4px;
  margin-right: -4px;
}

.right-topbar a {
  font-size: 18px;
  color: #ccc;
  line-height: 1.5;
  margin: 0 4px;
  transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}

.right-topbar a:hover {
  color: var(--primary-color);
}

/*------------------------------------------------------------------
[ Topbar mobile ]
-------------------------------------------------------------------*/

.topbar-mobile {
  /* Menggunakan BG gelap/terang yang responsif */
  background-color:#111; 
  
  /* PADDING: Ditingkatkan untuk ketinggian (20px vertikal sudah cukup tinggi) */
  padding: 15px 20px 15px 20px; /* Sedikit dikurangi agar tidak terlalu tebal */
  
  /* Tambahkan min-height agar lebih terjamin tingginya */
  min-height: 50px; /* Minimal 50px */
  
  /* Sembunyikan secara default */
  display: none; 
  
  /* Pertahankan Flexbox untuk pemisahan elemen yang rapi */
  justify-content: space-between;
  align-items: center;
  height: auto; 
  
  /* Tambahkan box-shadow */
  box-shadow: 0 3px 8px 0px var(--shadow-color);
}

/* Style Teks dan Elemen Dasar (Wajib menggunakan variabel!) */
.topbar-mobile .left-topbar-item,
.topbar-mobile .left-topbar-item a,
.topbar-mobile .left-topbar-item span {
    font-size: 14px; 
    line-height: 1.5;
    /* PERBAIKAN PENTING: Ganti #fff menjadi variabel teks sekunder */
    color: var(--text-white); 
    transition: color 0.3s;
    text-decoration: none; /* Hilangkan garis bawah default */
}

.topbar-mobile .left-topbar {
    display: flex; /* Flexbox di sisi kiri */
    align-items: center;
}

/* Gaya Dropdown dan Auth User Mobile (right-topbar) */
.topbar-mobile .right-topbar {
    display: flex; /* Flexbox di sisi kanan */
    align-items: center;
}

/* Gaya Dropdown Toggle Pengguna (Hemat Ruang) */
.topbar-mobile .right-topbar .dropdown a.dropdown-toggle {
    /* Style tombol sederhana untuk nama user */
    padding: 5px 8px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    font-size: 13px;
    color: var(--text-white) !important;
    white-space: nowrap; /* Penting: Mencegah wrapping pada nama */
}

/* Gaya Tombol Login/Action Menonjol (Guest) */
.topbar-mobile .right-topbar a.mobile-action-btn {
    color: var(--text-white) !important; 
    font-weight: 500;
    border: 1px solid var(--text-white);
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 13px;
    white-space: nowrap;
}

/* Gaya Dark Mode Toggle (UX Fix: Ikon + Label) */
.topbar-mobile #darkModeToggleMobile {
    display: flex;
    align-items: center;
    margin-left: 10px; /* Ruang jika ada tombol Login di sebelahnya */
    padding: 5px 0;
}

.topbar-mobile #darkModeToggleMobile i {
    color: var(--text-white) !important; /* Ikon menggunakan warna primary */
    font-size: 18px;
}

.topbar-mobile #darkModeToggleMobile span {
    /* Label teks */
    color: var(--text-secondary);
    font-size: 13px;
    margin-left: 5px;
}


/*------------------------------------------------------------------
[ Media Query - Tampilkan Mobile Topbar ]
-------------------------------------------------------------------*/
@media (max-width: 991px) {
    /* Tampilkan Mobile Topbar */
    .topbar-mobile {
        display: flex; /* Timpa display: none */
    }

    /* Sembunyikan Topbar Desktop */
    .topbar {
        display: none;
    }
}

/*==================================================================
[ Logo ]*/
.wrap-logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 125px;
  padding-top: 25px;
  padding-bottom: 10px;
}

/*---------------------------------------------*/
.logo {
  width: 25%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.logo img {
  max-width: 100%;
  max-height: 50%;
}

/*---------------------------------------------*/
.banner-header {
  width: 70%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.banner-header img {
  max-width: 100%;
  max-height: 100%;
}

/*---------------------------------------------*/
.wrap-logo.no-banner {
  justify-content: center;
}

.wrap-logo.no-banner .logo {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

/*---------------------------------------------*/
.logo-stick {
  display: none;
  line-height: 0;
  margin-right: 15px;
}

.logo-stick img {
  max-width: 115px;
  max-height: 30px;
}

/*==================================================================
[ Main nav ]*/
.wrap-main-nav {
  width: 100%;
  height: auto;
  z-index: 1000;
  position: relative;
}


.main-nav {
  width: 100%;
  background-color: var(--bg-light);
  height: auto;
  padding: 10px 0;
  box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -o-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -ms-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%);
}

.menu-desktop {
  max-width: calc(100% - 30px);
  width: 1050px;
  margin: 0 auto;
  height: auto;
  position: relative;
  display: flex;
  align-items: center;
}

/* Container untuk menu yang akan diukur */
.main-menu-wrapper {
  flex-grow: 1;
  overflow: hidden; /* Penting untuk menyembunyikan overflow */
  position: relative;
}

/* Menu utama */
.main-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap; /* Mencegah item melengkung ke bawah */
  align-items: center;
  transition: transform 0.3s;
  -webkit-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
  white-space: nowrap; /* Mencegah baris baru */
}

/* Setiap item menu */
.main-menu > li {
  height: auto;
  position: relative;
  flex: 0 0 auto;
}

/* Link menu */
.main-menu > li > a {
  font-family: Roboto-Medium;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-primary);
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 5px 0px;
  margin: 0 18px;
  transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}

.main-menu > li > a::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 36px);
  height: 5px;
  bottom: 0;
  left: -18px;
  background-color: #e6e6e6;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transform: scaleX(0);
}

.main-menu > li > a::after {
  content: "\f2f9";
  font-family: Material-Design-Iconic-Font;
  font-size: 16px;
  color: var(--text-primary);
  line-height: 1.5;
  margin-left: 6px;
  margin-bottom: 1px;
  transition: all 0.3s;
}

li.main-menu-active > a::before,
.main-menu > li > a:hover:before {
  transform: scaleX(1);
}

/* Menyembunyikan ikon hamburger secara default */
.desktop-hamburger-icon {
  display: none;
  cursor: pointer;
  margin-left: auto;
}

/* Saat overflow, tampilkan hamburger dan sembunyikan fitur */
.wrap-main-nav.overflow-mode .desktop-hamburger-icon {
  display: flex;
}

.wrap-main-nav.overflow-mode .nav-features-item {
    display: none;
}

/* Gaya untuk menu overflow */
.desktop-overflow-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    height: 100%;
    background-color: var(--bg-light);
    box-shadow: -3px 0 8px rgba(0,0,0,0.1);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    z-index: 2000;
    overflow-y: auto;
}

.desktop-overflow-menu.is-active {
    transform: translateX(0);
}

.desktop-overflow-list {
    list-style-type: none;
    padding: 20px;
}

.desktop-overflow-list li {
    padding: 8px 0;
}

.desktop-overflow-list li a {
    font-family: Roboto-Medium;
    font-size: 16px;
    color: var(--text-primary);
    text-decoration: none;
    display: block;
}

.desktop-overflow-list li:hover > a {
    color: var(--primary-color);
}

@media (max-width: 1199px) {
  .main-menu > li > a {
    margin: 0 10px;
  }
  .main-menu > li > a::before {
    left: -10px;
    width: calc(100% + 20px);
  }
}

/*---------------------------------------------*/
.sub-menu {
  list-style-type: none;
  position: absolute;
  top:0;
  left:100%;
  width: 225px;
  background-color: var(--bg-light);
  padding: 15px 0px 15px 0px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  visibility: hidden;
  opacity: 0; 
  border: 1px solid #f2f2f2;
  box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -o-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -ms-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
}

.sub-menu li {
  position: relative;
  background-color: transparent;
}

.main-menu > li > .sub-menu {
  top:100%;
  left: 0px;
}

.main-menu > li.respon-sub-menu > .sub-menu {
  top:100%;
  left: auto;
  right: 0;
}

li.respon-sub-menu > .sub-menu .sub-menu {
  top:0;
  left: auto;
  right: 100%;
}

.sub-menu a {
  font-family: Roboto-Medium;
  font-size: 14px;
  line-height: 1.7857;
  color: var(--text-primary);
  display: block;
  padding: 8px 30px; 
  width: 100%;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
}

@media (max-width: 1199px) {
  .sub-menu {
    width: 190px;
  }
  .sub-menu a {
    padding: 8px 20px;
  }
}


/*---------------------------------------------*/
.main-menu > li:hover > a:after {
  color: var(--primary-color);
}

.main-menu > li:hover > a {
  text-decoration: none;
  color: var(--primary-color);
}

.main-menu > li:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
}

.sub-menu li:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
} 

.sub-menu li:hover {
  background-color: transparent;
}

.sub-menu > li:hover > a {
  background-color: var(--primary-color);
  color: var(--bg-light);
  text-decoration: none;
}

/*------------------------------------------------------------------
[ Mega menu ]*/
.main-menu > li.mega-menu-item {
  position: static;
}

.sub-mega-menu {
  flex-wrap: wrap;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--bg-light);
  width: 100%;
  display: none;
  border: 1px solid #f2f2f2;
  box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -o-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
  -ms-box-shadow: 0 5px 10px 0px rgba(0,0,0,0.2);
}

.main-menu > li:hover > .sub-mega-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

.sub-mega-menu .nav {
  width: 240px;
  border-right: 1px solid #f2f2f2;
  padding: 30px 0;
}

.sub-mega-menu .tab-content {
  width: calc(100% - 240px);
}

/*---------------------------------------------*/
.sub-mega-menu .nav-pills .nav-link {
  font-family: Roboto-Medium;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-primary);
  border-radius: 0;
  padding: 8px 20px 8px 33px;
}

.sub-mega-menu .nav-pills .nav-link.active, 
.sub-mega-menu .show>.nav-pills .nav-link {
  color: var(--bg-light);
  background-color: var(--primary-color);
}

/*---------------------------------------------*/
.sub-mega-menu .tab-content .tab-pane {
  padding: 25px 50px 35px 30px;
}


/* Sembunyikan panah (caret) pada setiap elemen yang memiliki kelas 'no-caret' */
.main-menu a.no-caret::after {
    /* Aturan ini menargetkan pseudo-element (panah) yang ditambahkan setelah tautan */
    display: none !important;
    content: none !important;
}

/* Khusus untuk ikon hamburger, jika panah ditambahkan ke elemen dropdown-toggle yang juga punya no-caret */
.main-menu .dropdown-toggle.no-caret::after {
    display: none !important;
    content: none !important;
}


/*==================================================================
[ Fixed menu desktop ]*/
.fix-menu-desktop .main-nav {
  position: fixed;
  top: -55px;
  left: 0;
  transition: transform 0.3s;
  -webkit-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
}

.fix-menu-desktop .show-main-nav {
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -o-transform: translateY(100%);
  transform: translateY(100%);
}

.fix-menu-desktop .menu-desktop {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.fix-menu-desktop .menu-desktop .logo-stick {
  display: block;
}


/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[ Header Mobile ]*/
.wrap-header-mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 65px;
  background-color: var(--bg-light);
  padding: 10px 25px;
  display: none;
  box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -moz-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -webkit-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -o-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  -ms-box-shadow: 0 3px 8px 0px rgba(0,0,0,0.05);
  position: relative;
  z-index: 100;
}

/*------------------------------------------------------------------
[ Logo mobile ]*/
.logo-mobile {
  display: block;
  position: relative;
  height: 100%;
  -webkit-flex-grow: 1;
  -moz-flex-grow: 1;
  flex-grow: 1;
}

.logo-mobile img {
  max-width: calc(100% - 35px);
  max-height: 60%;
  position:absolute;
  top: 0; 
  left: 0; 
  bottom: 0;
  margin: auto;
}

/*------------------------------------------------------------------
[ btn show menu ]*/
.hamburger {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  padding: 0;
  -webkit-transform: scale(0.6);
  -moz-transform: scale(0.6);
  -ms-transform: scale(0.6);
  -o-transform: scale(0.6);
  transform: scale(0.6);
}

.hamburger-inner, 
.hamburger-inner:after, 
.hamburger-inner:before {
  border-radius: 0;
}


/*==================================================================
[ Menu mobile ]*/
.menu-mobile {
  width: 100%;
  background-color: var(--bg-light);
  display: none;
}

.main-menu-m {
  padding-top: 13px;
  padding-bottom: 23px;
  background-color: var(--primary-color);
}

.main-menu-m > li > a {
  font-family: Roboto-Regular;
  font-size: 16px;
  color: var(--bg-light);
  line-height: 2.8;
  padding: 9px 25px 9px 25px;

  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.main-menu-m > li > a:hover {
  color: var(--bg-light);
}

.main-menu-m > li {
  position: relative;
  background-color: var(--primary-color);
}

.arrow-main-menu-m {
  font-size: 14px;
  color: var(--bg-light);

  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 18px;
  top: 3px;
  padding: 10px;
  cursor: pointer;
}

.arrow-main-menu-m i {
  transform-origin: center;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.turn-arrow-main-menu-m i {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}

/*---------------------------------------------*/
.sub-menu-m {
  background-color: var(--bg-light);
  padding: 10px 50px 15px 20px;
  display: none;
}

.sub-menu-m a {
  font-family: Roboto-Regular;
  font-size: 15px;
  color: var(--primary-color);
  line-height: 2.5;
  padding: 5px 15px 5px 15px;
}

.sub-menu-m a:hover {
  text-decoration: none;
}



/*---------------------------------------------*/
@media (max-width: 991px){
  .wrap-header-mobile {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }

  .topbar,
  .logo,
  .no-banner,
  .wrap-main-nav {display: none;}

  .wrap-logo {
    height: auto;
  }

  .banner-header {  
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 992px){
  .menu-mobile {
    display: none;
  }
}


/*//////////////////////////////////////////////////////////////////
[ Tab01 ]*/
.tab01 .nav-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: none;
  flex-grow: 1;
  height: 100%;
}

.tab01 .nav-tabs .nav-item-more,
.tab01 .nav-tabs .nav-item {
  height: 100%;
  padding: 0px;
  margin: 0px;
}

.tab01 .nav-link {
  font-family: Roboto-Regular;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 5px 12px;
  border-radius: 0px;
  border: none;
  position: relative;

  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.tab01 .nav-link.active::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--bg-light);
  width: 7px;
  height: 7px;
  border-left: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  left: calc(50% - 5px);
  bottom: -5px;
  
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.tab01 .nav-link:hover {
  color: var(--primary-color) !important;
}


/*---------------------------------------------*/
.tab01-link {
  padding-left: 10px;
  white-space: nowrap;
}

.tab01-title {
  padding-right: 25px;
}
/*---------------------------------------------*/
.tab01 .nav-link.dropdown-toggle::after {
  display: none;
}

.tab01 .dropdown-menu {
  min-width: 135px;
  border-radius: 0px;
  padding: 5px 0;
}

.tab01 .dropdown-menu .nav-link {
  width: 100%;
}

.tab01 .dropdown-menu .nav-link.active {
  color: var(--primary-color);
}

.tab01 .dropdown-menu .nav-link.active::after {
  display: none;
}


/*//////////////////////////////////////////////////////////////////
[ Modal video 01 ]*/
body {padding-right: 0px !important;}
.modal {
  padding: 0px !important;
  z-index: 1160;
  overflow-x: hidden;
  overflow-y: auto !important;
}
.modal-open {overflow-y: scroll;}

/* ------------------------------------ */
.modal-backdrop {
  background-color: transparent;
}

#modal-video-01 {
  background-color: rgba(0,0,0,0.8);
  z-index: 1250;
  
}

#modal-video-01 .modal-dialog {
  max-width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
}

.wrap-video-mo-01 {
  width: 854px;
  height: auto;
  position: relative;
  margin: 15px;
}

.wrap-video-mo-01::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.video-mo-01 {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all 2s;
  -o-transition: all 2s;
  -moz-transition: all 2s;
  transition: all 2s;
}

.video-mo-01 iframe {
  width: 100%;
  height: 100%;
}

.close-mo-video-01 {
  font-size: 50px;
  color: white;
  opacity: 0.6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1250;
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
}

.close-mo-video-01:hover {
  cursor: pointer;
  opacity: 1;
}

/*//////////////////////////////////////////////////////////////////
[ Bread crumb ]*/
.breadcrumb-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb-item+.breadcrumb-item::before {
  height: 100%;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 12px;
  padding-right: 10px;
  padding-left: 12px;
  color: #999;
}

a.breadcrumb-item:hover {
  color: var(--primary-color);
}

/*//////////////////////////////////////////////////////////////////
[ Pagination ]*/
.pagi-item {
  font-family: Roboto-Regular;
  font-size: 13px;
  line-height: 1.5;
  color: #808080;
  width: 36px;
  height: 36px;
  border: 1px solid #e9e9e9;
  border-radius: 50%;
}

.pagi-item.pagi-active {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--bg-light);
}


/*==================================================================
   COLOR COLOR COLOR COLOR COLOR COLOR COLOR COLOR COLOR COLOR COLOR 
==================================================================*/
.bocl0 {border-color: var(--bg-light);}
.bocl1 {border-color: #111;}
.bocl2 {border-color: var(--text-primary);}
.bocl3 {border-color: var(--text-secondary);}
.bocl4 {border-color: #444;}
.bocl5 {border-color: #555;}
.bocl6 {border-color: #666;}
.bocl7 {border-color: #777;}
.bocl8 {border-color: #888;}
.bocl9 {border-color: #999;}
.bocl10 {border-color: var(--primary-color);}
.bocl11 {border-color: #e6e6e6;}
.bocl12 {border-color: #ccc;}
.bocl13 {border-color: #d9d9d9;}

/*---------------------------------------------*/
.cl-none {color: transparent;}
.cl0 {color: var(--bg-light);}
.cl1 {color: #111;}
.cl2 { color: var(--text-primary);}
.cl3 {color: var(--text-secondary);}
.cl4 {color: #444;}
.cl5 {color: #555;}
.cl6 {color: var(--text-primary);}
.cl7 {color: #777;}
.cl8 {color: #888;}
.cl9 {color: #999;}
.cl10 {color: var(--primary-color);}
.cl11 {color: #ccc;}
.cl12 {color: #e71d69;}
.cl13 {color: #15a752;}
.cl14 {color: #e3724a;}
.cl15 {color: #b2b2b2;}
.cl16 {color: #e5e5e5;}
.cl17 {color: #00b5e9;}
.cl18 {color: #2489b0;}


/*==================================================================
    TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
==================================================================*/
/*//////////////////////////////////////////////////////////////////
[ S-Text 0 - 15 ]*/
.f1-s-1 {
  font-family: Roboto-Regular;
  font-size: 14px;
  line-height: 1.7;
}

.f1-s-2 {
  font-family: Roboto-Regular;
  font-size: 14px;
  line-height: 1.2;
}

.f1-s-3 {
  font-family: Roboto-Regular;
  font-size: 12px;
  line-height: 1.7;
}

.f1-s-4 {
  font-family: Roboto-Bold;
  font-size: 12px;
  line-height: 1.7;
}

.f1-s-5 {
  font-family: Roboto-Medium;
  font-size: 15px;
  line-height: 1.333333;
}

.f1-s-6 {
  font-family: Roboto-Medium;
  font-size: 12px;
  line-height: 1.7;
}

.f1-s-7 {
  font-family: Roboto-Medium;
  font-size: 15px;
  line-height: 1.466667;
}

.f1-s-8 {
  font-family: Roboto-Medium;
  font-size: 14px;
  line-height: 1.5;
}

.f1-s-9 {
  font-family: Roboto-Black;
  font-size: 12px;
  line-height: 1.5;
}

.f1-s-10 {
  font-family: Roboto-Bold;
  font-size: 13px;
  line-height: 1.3;
}

.f1-s-11 {
  font-family: Roboto-Regular;
  font-size: 14px;
  line-height: 1.8;
}

.f1-s-12 {
  font-family: Roboto-Regular;
  font-size: 15px;
  line-height: 1.8;
}

.f1-s-13 {
  font-family: Roboto-Regular;
  font-size: 13px;
  line-height: 1.7;
}

/*---------------------------------------------*/
.f2-s-1 {
  font-family: Lato-Regular;
  font-size: 14px;
  line-height: 1.7;
}


/*//////////////////////////////////////////////////////////////////
[ M-Text 16 - 25 ]*/
.f1-m-1 {
  font-family: Roboto-Medium;
  font-size: 16px;
  line-height: 1.5;
}

.f1-m-2 {
  font-family: Roboto-Medium;
  font-size: 18px;
  line-height: 1.333333;
}

.f1-m-3 {
  font-family: Roboto-Regular;
  font-size: 20px;
  line-height: 1.25;
}

.f1-m-4 {
  font-family: Roboto-Bold;
  font-size: 16px;
  line-height: 1.5;
}

.f1-m-5 {
  font-family: Roboto-Bold;
  font-size: 24px;
  line-height: 1.3;
}

.f1-m-6 {
  font-family: Roboto-Regular;
  font-size: 18px;
  line-height: 1.333333;
}

.f1-m-7 {
  font-family: Roboto-Bold;
  font-size: 20px;
  line-height: 1.3;
}


/*//////////////////////////////////////////////////////////////////
[ L-Text >= 26 ]*/
.f1-l-1 {
  font-family: Roboto-Medium;
  font-size: 30px;
  line-height: 1.2;
}

.f1-l-2 {
  font-family: Roboto-Medium;
  font-size: 22px;
  line-height: 1.272727;
}

.f1-l-3 {
  font-family: Roboto-Medium;
  font-size: 30px;
  line-height: 1.3;
}

.f1-l-4 {
  font-family: Roboto-Bold;
  font-size: 22px;
  line-height: 1.545454;
}

.f1-l-5 {
  font-family: Roboto-Medium;
  font-size: 36px;
  line-height: 1.333333;
}


/*==================================================================
    SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE SIZE 
==================================================================*/
/*//////////////////////////////////////////////////////////////////
[ Size ]*/
.size-a-1 {
  width: 45px;
  height: 100%;
}

.size-a-2 {
  width: 220px;
  height: 45px;
}

.size-a-3 {
  width: 100%;
  height: 440px;
}

.size-a-4 {
  width: 100%;
  height: 244px;
}

.size-a-5 {
  width: 100%;
  height: 194px;
}

.size-a-6 {
  max-width: 100%;
  max-height: 72px;
}

.size-a-7 {
  max-width: 100%;
  max-height: 54px;
}

.size-a-8 {
  width: 30px;
  height: 30px;
}

.size-a-9 {
  width: 100%;
  height: 60px;
}

.size-a-10 {
  width: 55px;
  height: 100%;
}


/*---------------------------------------------*/
.size-a-11 {
  width: 100%;
  height: 536px;
}

@media (max-width: 1199px) {
  .size-a-11 {height: 400px;}
}

@media (max-width: 575px) {
  .size-a-11 {height: 350px;}
}

/*---------------------------------------------*/
.size-a-12 {
  width: 100%;
  height: 292px;
}

.size-a-13 {
  width: 100%;
  height: 50px;
}

.size-a-14 {
  width: 100%;
  height: 219px;
}

.size-a-15 {
  width: 100%;
  min-height: 150px;
}

.size-a-16{
  width: 100%;
  max-width: 286px;
  height: 50px;
}

.size-a-17 {
  max-width: 100%;
  min-width: 180px;
  height: 40px;
}

/*---------------------------------------------*/
.size-a-18 {
  width: 100%;
  height: 680px;
}

@media (max-width: 767px) {
  .size-a-18 {height: 480px;}
}

/*---------------------------------------------*/
.size-a-19{
  width: 100%;
  height: 50px;
}

.size-a-20 {
  max-width: 100%;
  min-width: 120px;
  height: 40px;
}


/*//////////////////////////////////////////////////////////////////
[ Width ]*/
.size-w-0 {
  flex-grow: 1;
}

.size-w-1 {
  width: 100px;
}

.size-w-2 {
  width: calc(100% - 118px);
}

.size-w-3 {
  width: calc(100% - 48px);
}

.size-w-4 {
  width: 80px;
}

.size-w-5 {
  width: calc(100% - 95px);
}

.size-w-6 {
  width: calc(62% - 20px);
}

.size-w-7 {
  width: calc(38% - 20px);
}

.size-w-8 {
  width: 260px;
}

.size-w-9 {
  width: calc(100% - 285px);
}

.size-w-10 {
  width: 100px;
}

.size-w-11 {
  width: calc(100% - 118px);
}

/*//////////////////////////////////////////////////////////////////
[ Height ]*/
.size-h-1 {
  max-height: 45px;
}

.size-h-2 {
  min-height: 40px;
}

.size-h-3 {
  height: 95px;
}

.size-h-3 {
  height: 95px;
}

.size-h-4 {
  min-height: 80px;
}


/*==================================================================
   BACKGROUND BACKGROUND BACKGROUND BACKGROUND BACKGROUND BACKGROUND 
==================================================================*/
.bg-none {background-color: transparent;}
.bg0 {background-color: var(--bg-light);}
.bg1 {background-color: #111;}
.bg2 {background-color: var(--text-primary);}
.bg3 {background-color: var(--bg-mirror);}
.bg4 {background-color: #444;}
.bg5 {background-color: #555;}
.bg6 {background-color: #666;}
.bg7 {background-color: #777;}
.bg8 {background-color: #888;}
.bg9 {background-color: #999;}
.bg10 {background-color: var(--primary-color);}
.bg11 {background-color: #151515;}
.bgfooter {background-color:#222;}


/*---------------------------------------------*/
.bg-img1 {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*---------------------------------------------*/
.bg-img2 {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*---------------------------------------------*/
.bg-facebook {background-color: #3b5998;}
.bg-twitter {background-color: #1da1f2;}
.bg-youtube {background-color: #ff0000;}
.bg-google {background-color: #dd4b39;}
.bg-pinterest {background-color: #bd081c;}


/*==================================================================
 HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW HOW 
==================================================================*/

/*---------------------------------------------*/
.how-bor1 {
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.how-bor1:last-child {
  border: none;
}

/*---------------------------------------------*/
.how-bor2 {
  border-bottom: 1px solid #f0f0f0;
}

.how-bor2:last-child {
  border: none;
}

/*---------------------------------------------*/
.how-bor3 {
  border-bottom: 1px solid #e6e6e6;
}

.how-bor3:first-child {
  border-top: 1px solid #e6e6e6;
}

/*---------------------------------------------*/
.how-txt1 {
  white-space: normal;
  display: box;
  display:-moz-box;
  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*---------------------------------------------*/
.how-txt2 {
  white-space: normal;
  display: box;
  display:-moz-box;
  display:-webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*---------------------------------------------*/
.how-txt3 {
  white-space: normal;
  overflow: hidden;
}

/*---------------------------------------------*/
.how-overlay1 {
  position: relative;
  z-index: 1;
}

.how-overlay1::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.5;
  
  /* PERBAIKAN: Ganti background fallback */
  background: var(--overlay-start); 
  
  /* PERBAIKAN: Ganti semua gradient ke variabel */
  background: -webkit-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: -o-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: -moz-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: linear-gradient(to top, var(--overlay-start), var(--overlay-end)); 
}

/*---------------------------------------------*/
.how1 {
  position: relative;
}

.how1-child1 {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.5;
  
  /* PERBAIKAN: Ganti background fallback */
  background: var(--overlay-start); 
  
  /* PERBAIKAN: Ganti semua gradient ke variabel */
  background: -webkit-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: -o-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: -moz-linear-gradient(bottom, var(--overlay-start), var(--overlay-end));
  background: linear-gradient(to top, var(--overlay-start), var(--overlay-end)); 
}

.how1:hover .how1-child1 {
  opacity: 0.3;
}

.how1-child2 {
  z-index: 3;
}

/*---------------------------------------------*/
.how2 {
  height: 50px;
  border: 1px solid #e6e6e6;
  padding: 0 18px;
  position: relative;
}

.how2::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: calc(100% + 2px);
  top: -1px;
  left: -1px;
}

.how2-cl1::before {
  background-color: #e71d69;
}

.how2-cl2::before {
  background-color: #15a752;
}

.how2-cl3::before {
  background-color: #e3724a;
}

.how2-cl4::before {
  background-color: #333;
}

.how2-cl5::before {
  background-color: #00b5e9;
}

.how2-cl6::before {
  background-color: #2489b0;
}

/*==================================================================
      PSEUDO PSEUDO PSEUDO PSEUDO PSEUDO PSEUDO PSEUDO PSEUDO PSEUDO
==================================================================*/
/*//////////////////////////////////////////////////////////////////
[ Hover ]*/

.hov-cl0:hover {color: var(--bg-light);}
.hov-bg0:hover {background-color: var(--bg-light);}

.hov-cl10:hover {color: var(--primary-color);}
.hov-bg10:hover {background-color: var(--primary-color);}

/*---------------------------------------------*/
.hov-img0 {
  display: block;
  overflow: hidden;
}

.hov-img0 > img{
  width: 100%;
  -webkit-transition: transform 0.9s ease;
  -o-transition: transform 0.9s ease;
  -moz-transition: transform 0.9s ease;
  transition: transform 0.9s ease;
}

.hov-img0:hover > img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

/*---------------------------------------------*/
.hov-link1:hover {
  color: var(--primary-color);
  text-decoration: underline;
}

/*---------------------------------------------*/
.hov-btn1:hover {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--bg-light);
}

/*---------------------------------------------*/
.hov-btn2:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}


/*---------------------------------------------*/
.hov1:hover {
  opacity: 0.8;
}



/*==================================================================
   OTHER OTHER OTHER OTHER OTHER OTHER OTHER OTHER OTHER OTHER OTHER 
==================================================================*/
/*------------------------------------------------------------------
[ Input ]*/
.focus-in0:focus::-webkit-input-placeholder { color:transparent; }
.focus-in0:focus:-moz-placeholder { color:transparent; }
.focus-in0:focus::-moz-placeholder { color:transparent; }
.focus-in0:focus:-ms-input-placeholder { color:transparent; }

.plh3::-webkit-input-placeholder { color: #333;}
.plh3:-moz-placeholder { color: #333;}
.plh3::-moz-placeholder { color: #333;}
.plh3:-ms-input-placeholder { color: #333;}

.plh6::-webkit-input-placeholder { color: #666;}
.plh6:-moz-placeholder { color: #666;}
.plh6::-moz-placeholder { color: #666;}
.plh6:-ms-input-placeholder { color: #666;}

.plh9::-webkit-input-placeholder { color: #999;}
.plh9:-moz-placeholder { color: #999;}
.plh9::-moz-placeholder { color: #999;}
.plh9:-ms-input-placeholder { color: #999;}

/*------------------------------------------------------------------
[ Parallax100 ]*/
.parallax100 {
  background-attachment: fixed;
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width: 991px) {
  .parallax100 {background-attachment: inherit;}
}

/*------------------------------------------------------------------
[ Wrap Picture ]*/
.wrap-pic-s, .wrap-pic-max-s,
.wrap-pic-w, .wrap-pic-max-w,
.wrap-pic-h, .wrap-pic-max-h {display: block;}

.wrap-pic-w > img {width: 100%;}
.wrap-pic-max-w > img {max-width: 100%;}

.wrap-pic-h > img {height: 100%;}
.wrap-pic-max-h > img {max-height: 100%;}

.wrap-pic-s > img {width: 100%; height: 100%;}
.wrap-pic-max-s > img {max-width: 100%; max-height: 100%;}




/*==================================================================
  RESPONSIVE RESPONSIVE RESPONSIVE RESPONSIVE RESPONSIVE RESPONSIVE
==================================================================*/

@media (max-width: 1199px) {
  
}


@media (max-width: 991px) {
  .respon1 {font-size: 22px}
}


@media (max-width: 767px) {
  .respon2 {font-size: 22px}
}


@media (max-width: 575px) {
  
}


@media (max-width: 480px) {
  
}

.mega-menu-article-title {
    /* 1. Wajib: Pastikan elemen berfungsi sebagai block agar dapat membungkus teks. 
       Ini adalah kunci agar teks memanjang ke bawah dan menyesuaikan lebar container. */
    display: block; 
    color: var(--text-primary);
    /* 2. Pastikan properti white-space default (normal) digunakan, 
       agar teks yang panjang dapat wrap ke baris baru. */
    white-space: normal; 

    /* 3. Opsional, tetapi baik untuk memastikan elemen mengisi penuh lebar parent (h5). */
    width: 100%;
}

/* Styling default (Saat tidak di-hover): Warna Orange */
/* Pastikan warna teks dan background-nya diatur */
.sub-menu a.menu-highlight {
    /* Warna Teks Default (Orange Gelap) */
    color: var(--bg-light) !important; 
    
    /* Warna Background Default (Orange Muda/Putih) */
    background-color: var(--primary-color) ; 
    
    /* Tambahkan transisi agar perubahan warnanya halus */
    transition: all 0.3s ease;
    
    /* Tambahan agar tampilan lebih menonjol */
    font-weight: bold;
    border-radius: 4px; /* Sudut membulat */
    margin: 2px 0; /* Jarak antar item */
}

/* Styling saat di-hover: Warna Biru */
.sub-menu a.menu-highlight:hover {
    /* Warna Teks saat di-hover (Biru Terang) */
    color: var(--bg-light) !important; 
    
    /* Warna Background saat di-hover (Biru Gelap) */
    background-color: #007bff; 
}
/*==================================================================
[ Modal Login/Register Styling (Responsive Dark Mode) ]
==================================================================*/

/* 1. Konten Modal (Background dan Shadow) */
#loginModal .modal-content {
    /* Gunakan latar belakang yang responsif */
    background-color: var(--bg-light); 
    
    /* Ganti shadow agar terlihat bagus di kedua mode */
    box-shadow: 0 10px 25px rgba(0,0,0,0.2), 0 0 0 1px var(--border-light); 
    
    /* Pastikan sudut membulat */
    border-radius: 12px;
}

/* 2. Header, Teks, dan Tautan */
#loginModal .modal-header,
#loginModal .modal-body {
    /* Pastikan pembatas (divider) menggunakan border responsif */
    border-color: var(--border-light);
}

#loginModal h4,
#loginModal .text-gray-900 {
    /* Teks utama menggunakan warna primary */
    color: var(--text-primary) !important;
    font-family: Roboto-Bold;
}

#loginModal .text-center p {
    color: var(--text-secondary);
}

/* Tautan di Footer Modal (Lupa password, Daftar) */
#loginModal .text-center a.small {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

#loginModal .text-center a.small:hover {
    text-decoration: underline;
}

/* 3. Input Fields dan Input Group */

#loginModal .form-control {
    /* Latar belakang input responsif (bisa sedikit lebih gelap dari bg modal di dark mode) */
    background-color: var(--bg-light);
    color: var(--text-primary);
    border-color: var(--border-light);
}

#loginModal .form-control::placeholder {
    /* Placeholder lebih terang di dark mode */
    color: var(--text-secondary);
    opacity: 0.8;
}

/* Input Group Append/Prepend (ikon) */
#loginModal .input-group-text {
    background-color: var(--bg-light);
    border-color: var(--border-light);
    color: var(--text-secondary);
    transition: color 0.3s, background-color 0.3s;
}

/* Ikon Toggle Password */
#loginModal #togglePassword:hover {
    color: var(--primary-color);
    cursor: pointer;
}

/* 4. Tombol Logout/Sign-in Google */
#loginModal .btn-outline-danger {
    /* Menggunakan variabel primary color untuk border dan teks */
    color: var(--primary-color);
    border-color: var(--primary-color);
    transition: all 0.3s;
}

#loginModal .btn-outline-danger:hover {
    background-color: var(--primary-color);
    color: var(--bg-light); /* Teks menjadi putih/gelap di hover */
}
/*==================================================================
[ PERBAIKAN: MEMPERBESAR CLICK SCOPE TOMBOL CLOSE ]
==================================================================*/

/* Selector umum untuk semua tombol close di semua modal */
.modal-header .close {
    /* Menargetkan tombol <button class="close"> */
    position: absolute;
    right: 5px; /* Pindahkan lebih dekat ke tepi */
    top: 0px;   /* Pindahkan lebih dekat ke tepi */
    
    /* PENTING: Menambah padding untuk memperbesar area klik (scope) */
    padding: 500px 150px; /* Menambah padding yang besar */
    
    /* Menggunakan variabel agar terlihat di Dark/Light Mode */
    color: var(--text-primary) !important; 
    opacity: 0.7;
    
    /* Ukuran font agar ikon silang tetap terlihat */
    font-size: 26px; /* Dulu: 24px, disesuaikan agar proporsional dengan padding */
    line-height: 1;
    
    /* Hapus border bawaan yang mungkin mengganggu */
    background: transparent;
    border: none;
    cursor: pointer;
}

.modal-header .close:hover {
    opacity: 3;
}

/* Styling Label */
#registerModal label {
    /* Pastikan label menggunakan warna teks primary yang responsif */
    color: var(--text-primary);
    font-weight: 500;
}

/* Styling Input Fields */
#registerModal .form-control {
    /* Gunakan variabel untuk latar belakang, teks, dan border */
    background-color: var(--bg-light);
    color: var(--text-primary);
    border-color: var(--border-light);
    transition: all 0.3s;
}

/* Styling Input Field yang Invalid (untuk pesan error Laravel) */
#registerModal .is-invalid {
    /* Biarkan warna border error tetap merah standar */
    border-color: #dc3545 !important;
}

#registerModal .invalid-feedback {
    /* Warna teks error tetap merah */
    color: #dc3545;
    /* PERBAIKAN: Latar belakang feedback menggunakan BG modal */
    background-color: var(--bg-light); 
    padding: 0 5px; /* Tambahkan sedikit padding */
    border-radius: 4px;
}

/* Styling Tautan Footer (Sama seperti modal Login) */
#registerModal .text-center a.small {
    /* Warna aksen menggunakan primary color */
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

/* Tambahan: Styling Pembungkus Modal dan Garis Horizontal */

#registerModal .modal-content {
    /* Konten modal itu sendiri harus responsif */
    background-color: var(--bg-light);
    box-shadow: 0 10px 25px var(--shadow-color);
    border: none;
}

#registerModal hr {
    /* Garis pembatas (hr) harus responsif */
    border-top: 1px solid var(--border-light);
    opacity: 0.5;
}

#registerModal .alert-danger {
    /* Pastikan alert error juga kontras di Dark Mode */
    background-color: var(--bg-light);
    color: #dc3545;
    border: 1px solid #dc3545;
}

#registerModal h4.text-gray-900 {
    /* Pastikan judul modal menggunakan warna teks utama */
    color: var(--text-primary) !important;
}

/*==================================================================
[ Modal Lupa Password Styling (Responsive Dark Mode) ]
==================================================================*/

/* 1. Konten Modal (Background dan Shadow) */
/* Style ini seharusnya sudah diwarisi dari .modal-content, tapi kita buat spesifik */
#forgotPasswordModal .modal-content {
    background-color: var(--bg-light); 
    box-shadow: 0 10px 25px var(--shadow-color);
    border-radius: 12px;
}

/* 2. Header dan Judul */
#forgotPasswordModal .text-gray-900 {
    /* Judul menggunakan warna teks primary yang responsif */
    color: var(--text-primary) !important;
    font-family: Roboto-Bold;
}

/* 3. Label dan Input Fields */
#forgotPasswordModal label {
    /* Label menggunakan warna teks primary yang responsif */
    color: var(--text-primary);
    font-weight: 500;
}

#forgotPasswordModal .form-control {
    /* Input Fields responsif */
    background-color: var(--bg-light);
    color: var(--text-primary);
    border-color: var(--border-light);
}

/* 4. Pembatas dan Teks Footer */
#forgotPasswordModal hr {
    /* Garis pembatas (hr) harus responsif */
    border-top: 1px solid var(--border-light);
    opacity: 0.5;
}

#forgotPasswordModal .text-center p {
    /* Teks biasa menggunakan warna sekunder yang responsif */
    color: var(--text-secondary);
}

/* 5. Tautan Masuk (Footer) */
#forgotPasswordModal .text-center a {
    /* Tautan menggunakan warna primary yang menonjol */
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

#forgotPasswordModal .text-center a:hover {
    text-decoration: underline;
}

/* 6. Alert Error (Jika ada) */
#forgotPasswordModal .alert-danger {
    /* Alert harus kontras dan menggunakan variabel */
    background-color: var(--bg-light);
    color: #dc3545;
    border: 1px solid #dc3545;
}

/*==================================================================
[ Modal Reset Password Styling (Responsive Dark Mode) ]
==================================================================*/

/* 1. Konten Modal (Background, Shadow, Input, Label, Text) */
#resetPasswordModal .modal-content {
    /* Mengikuti background Dark Mode */
    background-color: var(--bg-light); 
    box-shadow: 0 10px 25px var(--shadow-color);
    border-radius: 12px;
}

#resetPasswordModal .text-gray-900 {
    /* Judul menggunakan warna teks primary yang responsif */
    color: var(--text-primary) !important;
    font-family: Roboto-Bold;
}

#resetPasswordModal label {
    /* Label menggunakan warna teks primary yang responsif */
    color: var(--text-primary);
    font-weight: 500;
}

#resetPasswordModal .form-control {
    /* Input Fields responsif */
    background-color: var(--bg-light);
    color: var(--text-primary);
    border-color: var(--border-light);
}


#resetPasswordModal hr {
    /* Garis pembatas (hr) harus responsif */
    border-top: 1px solid var(--border-light);
    opacity: 0.5;
}

#resetPasswordModal .text-center p {
    /* Teks biasa menggunakan warna sekunder yang responsif */
    color: var(--text-secondary);
}

#resetPasswordModal .text-center a {
    /* Tautan menggunakan warna primary yang menonjol */
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

/* 3. Alert Error */
#resetPasswordModal .alert-danger {
    /* Alert harus kontras dan menggunakan variabel */
    background-color: var(--bg-light);
    color: #dc3545;
    border: 1px solid #dc3545;
}

/*==================================================================
[ Modal Notifikasi Reset Password Styling ]
==================================================================*/

#resetPasswordNotificationModal .modal-content {
    /* Mengikuti background Dark Mode */
    background-color: var(--bg-light); 
    box-shadow: 0 10px 25px var(--shadow-color);
    border-radius: 12px;
    border: none;
}

#resetPasswordNotificationModal .modal-body {
    /* Memastikan teks menggunakan warna primary */
    color: var(--text-primary);
}

/* Style untuk pesan status */
#resetPasswordNotificationModal #notification-message p {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
}

/* 2. Styling Tombol Tutup (Konsisten) */
#resetPasswordNotificationModal .btn-primary {
    /* Agar tombol primary responsif dan konsisten dengan tombol Login */
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    font-weight: 600;
    padding: 8px 20px;
    transition: all 0.3s;
}

#resetPasswordNotificationModal .btn-primary:hover {
    opacity: 0.9;
}
/*==================================================================
[ Modal Notifikasi Reset Password Styling ]
==================================================================*/

#resetPasswordNotificationModal .modal-content {
    /* Mengikuti background Dark Mode */
    background-color: var(--bg-light); 
    box-shadow: 0 10px 25px var(--shadow-color);
    border-radius: 12px;
    border: none;
}

#resetPasswordNotificationModal .modal-body {
    /* Memastikan teks menggunakan warna primary */
    color: var(--text-primary);
}

/* Style untuk pesan status */
#resetPasswordNotificationModal #notification-message p {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
}

/* 2. Styling Tombol Tutup (Konsisten) */
#resetPasswordNotificationModal .btn-primary {
    /* Agar tombol primary responsif dan konsisten dengan tombol Login */
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    font-weight: 600;
    padding: 8px 20px;
    transition: all 0.3s;
}

#resetPasswordNotificationModal .btn-primary:hover {
    opacity: 0.9;
}

/* Styling Dropdown Umum untuk Dark Mode */
.dropdown-menu {
    /* Pastikan border divider responsif */
    border: 1px solid var(--border-light);
    box-shadow: 0 5px 10px var(--shadow-color);
}

.dropdown-menu .dropdown-item,
.dropdown-menu button.dropdown-item {
    /* Targetkan semua item dan tombol di dropdown */
    color: var(--text-primary);
    background-color: var(--bg-light);
    transition: all 0.3s;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu button.dropdown-item:hover {
    /* Sesuaikan warna hover agar terlihat bagus di Dark Mode */
    background-color: var(--border-light); /* Warna yang sedikit lebih gelap */
    color: var(--text-primary);
}

.dropdown-menu .dropdown-divider {
    border-top-color: var(--border-light);
}

/*==================================================================
[ PAGINATION MOBILE/DARK MODE FIXES DENGAN !IMPORTANT ]
==================================================================*/

/* Container Pagination: Memaksa tata letak yang benar */
.pagination {
    /* Wajib: Memungkinkan link turun baris */
    flex-wrap: wrap !important; 
    justify-content: center !important; 
    margin-bottom: 0 !important;
}

/* Link di dalam pagination (Tombol Angka, Prev, Next) */
.page-link {
    /* Memaksa warna Dark Mode */
    background-color: var(--bg-light) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-light) !important;
    
    /* Memperbaiki tata letak mobile */
    padding: 6px 10px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    border-radius: 4px !important; 
    
    /* Mengatasi konflik font/spacing */
    font-family: inherit !important;
}

/* Link: Hover */
.page-link:hover {
    background-color: var(--bg-hover) !important; 
    color: var(--text-primary) !important;
}

/* Link: Active/Current Page */
.page-item.active .page-link {
    /* Warna aktif yang menonjol */
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important; 
}
/*==================================================================
[ SUBSCRIPTION STATUS PAGE STYLING ]
==================================================================*/

/* 1. Global Page Fixes */
.container.p-t-50.p-b-50, 
body {
    background-color: var(--bg-light) !important;
}

/* 2. Judul Halaman dan Riwayat Transaksi */
.f1-m-2.cl3.tab01-title {
    /* Mengganti cl3 */
    color: var(--text-primary) !important;
}

/* 3. Kotak Status Utama (Mengganti bg-white, bocl11, shadow-sm) */
.bg-white.p-rl-30.p-tb-30.bo-1-rad-8 {
    background-color: var(--bg-light) !important;
    border: 1px solid var(--border-light);
    box-shadow: 0 5px 15px var(--shadow-color);
}
.bg-white h5, .bg-white p {
    color: var(--text-primary); /* Mengganti cl2 */
}

/* 4. Gaya Kotak Status Dinamis (Active / Inactive) */

/* Warna Background untuk Notifikasi Ringan di Dark Mode */
:root, body.light-mode-active {
    --bg-success-light: #d4edda; /* Hijau Muda */
    --bg-warning-light: #fff3cd; /* Kuning Muda */
}
body.dark-mode-active {
    --bg-success-light: #1f362a; /* Hijau Tua/Gelap */
    --bg-warning-light: #4a4023; /* Kuning Tua/Gelap */
}

/* --- Status Aktif (Success) --- */
.bg-success-light {
    background-color: var(--bg-success-light) !important;
    border-left: 5px solid #28a745;
}
.text-success {
    color: #28a745 !important;
}

/* --- Status Tidak Aktif (Warning/Expired) --- */
.bg-warning-light {
    background-color: var(--bg-warning-light) !important;
    border-left: 5px solid #f84626;
}
.text-warning {
    color: #f84626 !important;
}

/* 5. Teks di dalam Kotak Status */
/* Judul di dalam kotak status (cl12, cl13) */
.p-all-20 h5 {
    font-family: Roboto-Medium; 
}
/* Teks biasa (cl2, cl6) */
.p-all-20 p, .p-all-20 span {
    color: var(--text-primary) !important; 
}
/* Highlight Tanggal (cl10) */
.p-all-20 .font-weight-bold {
    color: var(--primary-color) !important; /* Ganti cl10 */
}


/* 6. Riwayat Transaksi dan Bantuan */
.f1-s-7.cl6 {
    /* Teks list riwayat */
    color: var(--text-secondary) !important; 
}

/* Sidebar Bantuan & Informasi */
.p-l-10.p-rl-0-sr991 h3 {
    color: var(--text-primary) !important; /* Judul Sidebar */
}
.p-l-10 a {
    /* Link bantuan (cl3) */
    color: var(--text-primary) !important;
}
.p-l-10 a:hover {
    color: var(--primary-color) !important;
}

.article-content a  {
    color: #f84626 !important; /* Warna biru standar (cl10/primary) */
}
/* CSS yang sudah ada untuk Blockquote standar */
.article-content blockquote {
    border-left: 5px solid #f84626; 
    background-color: #f8f9fa;
    margin: 25px 0;
    padding: 15px 20px 15px 30px;
    font-style: italic;
    font-family: Georgia, serif;
    color: #495057; 
    border-radius: 6px;
}

/* --- PERBAIKAN LIST UNTUK KONSISTENSI DAN JARAK LEBIH DEKAT --- */

/* 1. Bersihkan Kontainer List (UL dan OL) */
.article-content ul,
.article-content ol {
    /* Bersihkan margin/padding bawaan framework agar kontrol penuh ada di LI */
    margin: 15px 0 !important;
    padding-left: 0 !important; 
    margin-left: 0 !important;
    list-style-position: outside !important;
    display: block !important;
}

/* 2. Atur Setiap Item List (LI) - PUSAT KONTROL JARAK */
.article-content ul li,
.article-content ol li {
    /* Jarak yang lebih rapat. Anda bisa mencoba 20px atau 25px */
    padding-left: 25px !important; 
    margin-left: 25px !important; 
    
    position: relative !important;
    list-style-position: outside !important;
    margin-bottom: 8px;
    line-height: 1.6;
    text-align: left !important;
}

/* 3. Terapkan Style Penanda (Disc/Decimal) */
.article-content ul li {
    list-style-type: disc !important; 
}

.article-content ol li {
    list-style-type: decimal !important; 
}

/* 4. Solusi Back-up (Hapus pseudo-elements yang mengganggu) */
.article-content ul li::before,
.article-content ol li::before {
    content: none !important; 
}


/* Optional: Perbaiki tampilan gambar agar responsif */
.article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block; 
    margin: 20px auto;
}

/*  CSS PAYWALL OVERLAY BARU  */
.paywall-content-area {
    position: relative; 
}

/* Efek Blur pada Konten */
.paywall-blur {
    filter: blur(10px); /* Dibuat lebih blur */
    -webkit-filter: blur(10px);
    pointer-events: none;
    user-select: none;
    opacity: 0.7; /* Sedikit lebih transparan */
    padding-bottom: 200px;
}

/* Layer Kunci (Paywall Gate) - Sekarang lebih pasif, hanya penutup */
.paywall-lock-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70%; 
    background: rgba(255, 255, 255, 0.95); /* Lebih padat */
    z-index: 10;
    /* Hapus display: flex; dll. agar tidak mengganggu kotak tengah */
    padding: 0;
    margin: 0;
    border-radius: 0 0 8px 8px;
    mask-image: linear-gradient(to top, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to top, black 80%, transparent 100%);
    backdrop-filter: blur(3px); 
    -webkit-backdrop-filter: blur(3px);
}

/*  KOTAK INFORMASI GEMBOK & CTA (Pusat Kontrol)  */
.premium-info-box {
    position: absolute;
    top: 25%; /* Posisikan di tengah atas area yang di-blur */
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 15; /* Pastikan di atas layer blur */
    background-color: #ffffff; /* Warna putih agar menonjol */
    color: #721c24; /* Warna teks */
    border: 2px solid #f5c6cb;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); /* Shadow yang kuat */
    max-width: 80%; /* Batasi lebar */
}

.premium-info-box i.fas {
    font-size: 3rem;
    margin-bottom: 15px;
    color: #dc3545; /* Warna merah/danger */
}

/* Styling tambahan untuk tombol di dalam kotak */
.premium-info-box .btn-lg {
    margin: 10px 5px;
    min-width: 180px;
}


  /* [ Inject CSS Kontak Tambahan Di Sini Jika Belum di Main CSS ] */
  .contact-info-block { padding: 20px 0; border-bottom: 1px solid var(--border-light); }
  .contact-item { display: flex; align-items: flex-start; margin-bottom: 15px; color: var(--text-primary); font-size: 16px; }
  .contact-icon { font-size: 20px; color: var(--primary-color); margin-right: 15px; margin-top: 3px; }
  .contact-details h4 { font-size: 18px; color: var(--text-primary); margin-bottom: 5px; }
  .contact-details p, .contact-details a { color: var(--text-secondary); text-decoration: none; transition: color 0.3s; }
  .contact-details a:hover { color: var(--primary-color); }
  .btn-whatsapp { background-color: #25D366 !important; color: #fff !important; font-weight: bold; padding: 10px 20px; border-radius: 50px; transition: opacity 0.3s; }
  .btn-whatsapp:hover { opacity: 0.9; }
  /* --- */



.magazine-cover-box {
    position: relative;
    width: 100%;
    /* KRUSIAL: Menghindari konten 'melompat' (CLS Fix) */
    aspect-ratio: 3 / 4.2; 
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-color: #f8f8f8;
    display: block;
}

.magazine-cover-box img {
    width: 100%;
    height: 100%; /* Mengisi penuh area aspect-ratio */
    
    /* Gunakan cover agar semua majalah terlihat rapi & simetris */
    object-fit: cover; 
    
    display: block;
    transition: transform 0.3s ease-in-out;
}

.magazine-cover-box:hover img {
    transform: scale(1.03); 
}
.premium-cover-gate {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px); /* Efek blur premium */
    z-index: 10;
    border-radius: 12px;
    text-align: center;
    padding: 20px;
}

            /* === BASE STYLING & CLEANUP (DARI KODE ASLI) === */
        .article-content blockquote {
            border-left: 5px solid #ced4da; 
            background-color: #f8f9fa;
            margin: 25px 0;
            padding: 15px 20px 15px 30px;
            font-style: italic;
            font-family: Georgia, serif;
            color: #495057; 
            border-radius: 6px;
        }

        /* === COVER INTERAKTIF (TARGET LOCK) === */
        .cover-container {
            position: relative;
            display: block;
            cursor: pointer;
            overflow: hidden;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out;
            max-width: 95%;
            height: auto;
        }

        .cover-container:hover {
            transform: scale(1.01);
        }

        .cover-container img {
            display: block;
            width: 100%;
            height: 50%; /* Disesuaikan agar rasio tidak rusak */
            transition: opacity 0.3s ease-in-out;
        }

        /* Cover Overlay (Tombol BACA MAJALAH) */
        .cover-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.25);
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 1; /* SELALU TERLIHAT */
            transition: background-color 0.3s ease-in-out;
        }

        .read-button {
            padding: 12px 25px;
            background-color: #ff5722;
            color: white;
            border: none;
            border-radius: 5px;
            font-size: 18px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
            transition: background-color 0.2s;
        }

        .read-button:hover {
            background-color: #e64a19;
        }

        /* Tombol kembali & Instruksi Geser */
        .back-button {
            display: inline-block;
            margin-top: 15px;
            padding: 10px 20px;
            background-color: #444;
            color: #fff;
            border-radius: 5px;
            cursor: pointer;
            font-weight: bold;
            transition: background-color 0.3s;
        }
        
        /* Wadah Embed Heyzine */
        .heyzine-player-container {
            position: relative;
            width: 100%;
            padding-bottom: 100%; 
            height: 0;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); 
        }

        #heyzine-inline-container-wrapper iframe {
            width: 100%;
            height: 100%;
            border: none;
            position: absolute;
            top: 0;
            left: 0;
        }

        .swipe-instruction {
            text-align: center;
            margin-top: 15px;
            color: #555;
            font-size: 14px;
            font-style: italic;
        }

        
        /* KOTAK INFORMASI GEMBOK & CTA (Sentral) */
        .premium-cover-gate {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 15; /* Di atas cover */
            background-color: #ffffff;
            color: #721c24;
            border: 2px solid #dc3545;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); 
            max-width: 80%;
            text-align: center;
        }

        .premium-cover-gate i.fas {
            font-size: 3rem;
            margin-bottom: 15px;
            color: #dc3545;
        }
        .premium-cover-gate .btn-lg {
            margin: 10px 5px;
            min-width: 180px;
        }
/* ============================================= */
/* === MEDIA QUERIES UNTUK TAMPILAN MOBILE === */
/* ============================================= */

@media (max-width: 768px) {
    
    /* PENYESUAIAN COVER INTERAKTIF */
    .cover-container {
        max-width: 100%; /* Lebar penuh pada mobile */
        margin: 0 auto; /* Tengah jika tidak lebar penuh */
        box-shadow: none; /* Hilangkan bayangan tebal agar terlihat lebih 'ringan' */
        border-radius: 0; /* Hilangkan border radius untuk tampilan full-width */
    }

    .cover-container:hover {
        transform: none; /* Hapus efek scale saat hover pada mobile */
    }

    /* Tombol 'BACA MAJALAH' */
    .read-button {
        padding: 10px 20px; /* Perkecil padding tombol */
        font-size: 16px; /* Perkecil ukuran font tombol */
    }

    /* Wadah Embed Heyzine */
    .heyzine-player-container {
        /* Tetap pertahankan rasio aspek agar Heyzine berfungsi dengan baik */
        padding-bottom: 120%; /* Mungkin perlu sedikit lebih tinggi di mobile untuk pengalaman yang lebih baik, tergantung rasio majalah */
        box-shadow: none;
    }
    
    /* KOTAK INFORMASI GEMBOK & CTA (Premium Gate) */
    .premium-cover-gate {
        padding: 20px; /* Kurangi padding */
        max-width: 90%; /* Gunakan lebar yang lebih besar */
    }

    .premium-cover-gate h3 {
        font-size: 1.25rem; /* Perkecil judul */
    }
    
    .premium-cover-gate i.fas {
        font-size: 2.5rem; /* Perkecil ikon gembok */
        margin-bottom: 10px;
    }

    .premium-cover-gate .btn-lg {
        /* Perkecil tombol CTA */
        margin: 8px 0; /* Ubah margin agar tombol bisa bertumpuk */
        min-width: 100%; /* Buat tombol CTA selebar kotak */
        display: block;
    }
    
    /* Blockquote */
    .article-content blockquote {
        margin: 15px 0; /* Kurangi margin vertikal */
        padding: 10px 15px 10px 20px; /* Kurangi padding */
        font-size: 0.95em; /* Sedikit perkecil ukuran font */
    }

    /* Tombol Kembali & Instruksi Geser */
    .back-button {
        margin-top: 10px;
        padding: 8px 15px;
        font-size: 14px;
    }
    
    .swipe-instruction {
        font-size: 12px;
    }
}

            /* Gaya untuk memastikan wadah player responsif 16:9 */
        .media-player-container {
            position: relative;
            padding-bottom: 56.25%; /* Rasio 16:9 */
            height: 0;
            overflow: hidden;
            max-width: 100%;
            height: auto;
            border-radius: 8px; /* Sudut membulat */
            background-color: #000;
        }

        /* Gaya untuk thumbnail (tampilan awal) */
        .media-thumbnail-overlay {
            cursor: pointer;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Ganti background-image di Blade untuk YouTube thumbnail */
            background-size: cover;
            background-position: center;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            transition: opacity 0.3s;
        }

        /* Gaya Tombol Play Besar */
        .play-button-overlay {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 80px;
            height: 80px;
            background-color: rgba(0, 0, 0, 0.7);
            border-radius: 50%;
            color: #fff;
            font-size: 30px;
            border: 4px solid #fff;
            margin-bottom: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
            transition: all 0.2s;
        }
        
        .media-thumbnail-overlay:hover .play-button-overlay {
            background-color: rgba(255, 140, 0, 0.9); /* Highlight hover */
            transform: scale(1.05);
        }


        .slide100-txt {
    height: 24px;  /* atau sesuai tinggi teks */
    overflow: hidden;
    position: relative;
}
.slide100-txt-item {
    position: absolute;
    left: 0;
    top: 0;
}
        /* Style Dasar (Light Mode) */
.sh-btn-latest-lg {
    background-color: #f84626;
    color: #fff !important;
    border: 1px solid #f84626;
    border-radius: 6px;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 1px;
}

.sh-btn-latest-lg:hover {
    background-color: #E67E22;
    border-color: #E67E22;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-2px); /* Efek sedikit naik saat hover agar interaktif */
    box-shadow: 0 4px 15px rgba(248, 70, 38, 0.3);
}

/* Dukungan Dark Mode */
body.dark-mode .sh-btn-latest-lg {
    background-color: #d33a1d; /* Warna merah agak gelap agar tidak menyilaukan */
    border-color: #d33a1d;
}

body.dark-mode .sh-btn-latest-lg:hover {
    background-color: #f84626;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
}


.media-player-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* Mengunci rasio video standar */
    background-color: #000;
    border-radius: 8px;
    overflow: hidden;
}

.media-thumbnail-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}