/* Halaman /saham-syariah: tata letak template Course (Colorlib, CC BY 3.0) dengan warna tema MBS.
   Dimuat SETELAH main_styles.css + responsive.css (vendor, tidak diubah). Isinya hanya:
   1) warna template (#ffb606, #1a1a1a, #a5a5a5) diganti token variables.css,
   2) elemen yang di template berupa gambar SVG/flaticon diganti ikon Font Awesome,
   3) tambalan aksesibilitas (fokus, kontras, target sentuh 44px) dan responsif.
   Aturan dasar ditulis dulu, override @media sesudahnya. */

:root{
  --c-surface: #F4F8F6;   /* kartu artikel (template: #f8f9fb) */
  --c-surface-2: #E3EEE8; /* bilah penulis kartu (template: #eaebec) */
  --c-line: #E3EEE8;
  --c-on-dark: #B4C6CF;   /* teks sekunder di latar --mbs-dark, 7.6:1 */
}

/* ---------- Umum ---------- */
body{ color: var(--mbs-muted); }
p{ color: var(--mbs-muted); }
p a{ border-bottom-color: var(--mbs-green); }
p a:hover{ background: var(--mbs-green); color: #fff; }
::selection, p::selection{ background: var(--mbs-mint); color: var(--mbs-dark); }
::-webkit-input-placeholder{ color: #6B7B86 !important; }
::-moz-placeholder{ color: #6B7B86 !important; }
::placeholder{ color: #6B7B86 !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline: 3px solid var(--mbs-blue-light);
  outline-offset: 3px;
}
button{ font: inherit; }

.skip_link{
  position: fixed; top: -80px; left: 12px; z-index: 100;
  padding: 12px 18px; background: var(--mbs-dark); color: #fff; font-weight: 700;
}
.skip_link:focus{ top: 12px; color: #fff; }

/* Tombol umum (dipakai di luar blok register yang punya .button bawaan template) */
.course_btn{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 28px;
  background: var(--mbs-grad-main); color: #fff;
  font-size: 14px; font-weight: 700; text-transform: uppercase;
  transition: box-shadow 200ms ease;
}
.course_btn:hover, .course_btn:focus{ color: #fff; box-shadow: 0 10px 20px rgba(12, 46, 59, .25); }
.course_btn--line{ background: transparent; color: var(--mbs-green); border: 2px solid var(--mbs-green); }
.course_btn--line:hover, .course_btn--line:focus{ background: var(--mbs-green); color: #fff; }

/* ---------- Header ---------- */
.header_content::before{ box-shadow: 0 20px 49px rgba(12, 46, 59, .32); }
.header.scrolled .header_content::before{ box-shadow: 0 20px 49px rgba(12, 46, 59, .17); }
.logo{ display: inline-flex; align-items: center; gap: 10px; }
.logo img{ width: 46px; height: 46px; object-fit: contain; }
.logo span{ color: var(--mbs-ink); font-size: 26px; margin-left: 0; white-space: nowrap; }

/* Menu MBS lebih panjang dari menu template (6 item + 2 submenu + pilihan bahasa): jarak dirapatkan */
.main_nav_container{ padding-left: 24px; padding-right: 50px; }
.main_nav{ margin-top: 0; }
.main_nav_list{ display: flex; flex-wrap: nowrap; white-space: nowrap; }
.main_nav_item{ position: relative; margin-right: 22px; }
.main_nav_item a,
.main_nav_toggle{ color: var(--mbs-ink); font-size: 13px; }
.main_nav_toggle{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0; background: none; border: 0; cursor: pointer;
  font-family: 'Open Sans', sans-serif; font-weight: 700; text-transform: uppercase;
  transition: color 200ms ease;
}
.main_nav_toggle i{ font-size: 12px; transition: transform 200ms ease; }
.main_nav_item a:hover,
.main_nav_toggle:hover,
.main_nav_item.active > a,
.main_nav_item.active > .main_nav_toggle{ color: var(--mbs-green); }

/* Submenu: jembatan padding-top menutup celah hover antara menu dan panel */
.main_nav_sub{
  position: absolute; top: 100%; left: -24px; z-index: 5;
  padding-top: 34px; min-width: 250px;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms;
}
.main_nav_sub ul{
  max-height: calc(100vh - 190px); overflow-y: auto;
  padding: 10px 0; background: #fff;
  border-top: 3px solid var(--mbs-green);
  box-shadow: 0 20px 49px rgba(12, 46, 59, .17);
}
.main_nav_sub a{
  display: block; padding: 9px 24px;
  font-size: 13px; font-weight: 600; text-transform: none;
}
.main_nav_sub a[aria-current="page"]{ color: var(--mbs-green); }
.main_nav_item:hover .main_nav_sub,
.main_nav_sub:focus-within,
.main_nav_toggle[aria-expanded="true"] + .main_nav_sub{ opacity: 1; visibility: visible; transform: none; }
.main_nav_item:hover .main_nav_toggle i,
.main_nav_toggle[aria-expanded="true"] i{ transform: rotate(180deg); }

/* Pilihan bahasa: kotak bersudut tegas seperti tombol template */
.course_lang{ display: inline-flex; margin-left: 28px; border: 2px solid var(--c-line); flex-shrink: 0; }
.course_lang button{
  min-width: 34px; height: 30px; padding: 0 4px;
  background: none; border: 0; cursor: pointer;
  font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 700; color: var(--mbs-ink);
}
.course_lang button:hover{ color: var(--mbs-green); }
.course_lang button.is-active{ background: var(--mbs-grad-main); color: #fff; }

.header_side{ background: var(--mbs-grad-main); }
.header_side i{ font-size: 24px; color: #fff; }

.hamburger_container{
  min-width: 44px; min-height: 44px; padding: 0;
  background: none; border: 0;
}
.hamburger_container i{ color: var(--mbs-ink); }
.hamburger_container:hover i{ color: var(--mbs-green); }

/* ---------- Menu mobile ---------- */
.menu_container{ overflow-y: auto; overscroll-behavior: contain; }
.menu{ position: relative; top: auto; padding: 130px 15% 60px; }
.menu_item a:hover{ color: var(--mbs-green); }
.menu_group_title{
  display: block; margin-top: 14px;
  font-family: 'Open Sans', sans-serif; font-size: 36px; font-weight: 700; color: var(--mbs-ink);
}
.menu_sub{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 6px 0 10px; }
.menu_sub a{
  display: block; padding: 8px 0;
  font-size: 16px; font-weight: 600; color: var(--mbs-muted);
}
.menu_sub a:hover{ color: var(--mbs-green); }
.menu .course_lang{ margin: 40px 0 0; }
.menu_close_container{ padding: 0; background: none; border: 0; }
.menu_close_container::before{ content: ''; position: absolute; inset: -12px; }
.menu_close{ display: block; position: relative; }
.menu_close, .menu_close::after{ background: var(--mbs-ink); }
.menu_close_container:hover .menu_close,
.menu_close_container:hover .menu_close::after{ background: var(--mbs-green); }
.menu_social_item a{ display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.menu_social_item a i{ color: var(--mbs-ink); }
.menu_social_item a i:hover{ color: var(--mbs-green); }
.menu_social_item{ margin-right: 10px; }
.menu_copyright{ color: var(--mbs-muted); }

/* ---------- Hero ---------- */
.home{ min-height: 560px; background: var(--mbs-dark); }
.hero_slide_container{ min-height: 560px; }
.hero_slide_background--plain{ background: var(--mbs-grad-main); }
/* Foto banner (Admin > Saham: Slider Hero) diredupkan & sedikit dikaburkan di atas
   latar gelap .home, supaya detail foto (angka, grafik) tidak bersaing dengan judul.
   scale menutup tepi buram akibat blur. Varian tanpa foto (gradasi) tidak disentuh. */
.hero_slide_background:not(.hero_slide_background--plain){
  opacity: .55; filter: saturate(.7) blur(1.5px); transform: scale(1.03);
}
/* Tirai gelap ber-tint palet MBS + bayangan lembut di tengah, tepat di belakang judul */
.hero_slide_background::after{
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 45% at 50% 52%, rgba(12, 46, 59, .55) 0%, rgba(12, 46, 59, 0) 100%),
    linear-gradient(135deg, rgba(12, 46, 59, .92) 0%, rgba(10, 122, 102, .78) 58%, rgba(10, 91, 168, .74) 100%);
}
.hero_title{ font-size: 72px; font-weight: 400; line-height: 1.3; color: #fff; margin: 0; text-shadow: 0 2px 22px rgba(5, 25, 33, .45); }
.hero_slide_content .hero_title span.hero_txt{ background: none; padding: 0; margin: 0; }
.hero_slide_content .hero_title span.hero_hl{
  background: var(--mbs-grad-main);
  padding: 0 13px; margin: 0 -2px;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
/* Tombol prev/next: semi-transparan di atas foto hero (bukan kotak putih polos) */
.hero_slider_nav{
  padding: 0; border: 1px solid rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.hero_slider_nav:hover, .hero_slider_nav:focus-visible{ background: var(--mbs-grad-main); border-color: transparent; }
.hero_slider_nav:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; }
.hero_slider_nav span{ color: #fff; font-size: 16px; }

/* ---------- Kartu di bawah hero ---------- */
.hero_box{ background: var(--mbs-dark); text-decoration: none; }
.hero_box:hover, .hero_box:focus-visible{ background: var(--mbs-grad-main); }
.hero_box_icon{ width: 62px; flex-shrink: 0; margin-top: -6px; font-size: 46px; text-align: center; color: var(--mbs-mint); transition: color 200ms ease; }
.hero_box:hover .hero_box_icon, .hero_box:focus-visible .hero_box_icon{ color: #fff; }
.hero_box_content{ display: block; min-width: 0; }
.hero_box_title{ display: block; }
.hero_box_link{ display: block; color: rgba(255, 255, 255, .82); }
.hero_box:hover .hero_box_link{ color: #fff; }

/* ---------- Judul section ---------- */
.section_title h2{
  display: block; position: relative; margin: 0; padding-top: 24px;
  font-size: 36px; font-weight: 500; color: var(--mbs-ink);
}
.section_title h1::before,
.section_title h2::before{
  display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 55px; height: 4px; content: ''; background: var(--mbs-grad-main);
}
.section_subtitle{ max-width: 640px; margin: 14px auto 0; }
.testimonials .section_title h2,
.footer .section_title h2{ color: #fff; }

/* ---------- Artikel (Popular) ---------- */
.course_filters{ display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 40px; }
.course_filter{
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 0 20px;
  background: var(--c-surface); border: 2px solid transparent; color: var(--mbs-ink);
  font-family: 'Open Sans', sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase;
  transition: all 200ms ease;
}
.course_filter small{ font-size: 12px; color: var(--mbs-muted); }
.course_filter:hover{ border-color: var(--mbs-green); color: var(--mbs-green); }
.course_filter.active{ background: var(--mbs-grad-main); color: #fff; }
.course_filter.active small{ color: rgba(255, 255, 255, .85); }
.course_result{ margin: 24px 0 0; text-align: center; }
.course_result a{ margin-left: 10px; color: var(--mbs-green); font-weight: 700; border: 0; }
.course_result a:hover{ background: none; color: var(--mbs-blue); }

.course_boxes{ margin-top: 48px; }
.course_box{ margin-bottom: 30px; }
.card{ display: flex; flex-direction: column; height: 100%; background: var(--c-surface); }
.card-img-top{ width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.card_img_ph{
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  background: var(--mbs-grad-main); color: #fff;
}
.card_img_ph i{ font-size: 44px; }
.card_img_ph span{ font-family: 'Open Sans', sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.card-body{ flex: 1 1 auto; }
.card-title{ margin: 40px 0 16px; font-size: inherit; line-height: 1.2; }
.card-title a{ color: var(--mbs-ink); }
.card-title a:hover{ color: var(--mbs-green); }
.card-text{ margin: 0; color: var(--mbs-muted); line-height: 1.8; }
.price_box{ margin-top: 32px; padding-left: 24px; background: var(--c-surface-2); }
.course_author_image{
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: var(--mbs-dark); color: var(--mbs-mint);
  font-family: 'Open Sans', sans-serif; font-size: 15px; font-weight: 700;
}
.course_author_name{ min-width: 0; margin-top: 0; padding: 0 12px 0 14px; line-height: 1.35; color: var(--mbs-ink); }
.course_author_name span{ color: var(--mbs-muted); }
.course_price{ flex-shrink: 0; background: var(--mbs-grad-main); }
.course_price span{ margin-top: 0; font-size: 22px; font-weight: 700; line-height: 1; }
.course_price small{ margin-top: 3px; font-size: 12px; font-weight: 500; text-transform: uppercase; color: #fff; }

.course_pager{ display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 50px; }
.course_pager a, .course_pager span{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 12px;
  background: var(--c-surface); color: var(--mbs-ink); font-weight: 700;
}
.course_pager a:hover{ color: var(--mbs-green); }
.course_pager a.active{ background: var(--mbs-grad-main); color: #fff; }

.course_empty{ margin-top: 48px; padding: 56px 20px; text-align: center; background: var(--c-surface); }
.course_empty > i{ font-size: 40px; color: var(--mbs-green); }
.course_empty h3{ margin: 16px 0 6px; font-size: 22px; font-weight: 500; color: var(--mbs-ink); }
.course_empty .course_btn{ margin-top: 18px; }

/* ---------- Register + Search ---------- */
.register_section{ background: var(--mbs-grad-main); }
.register_title, .search_title{ font-size: 36px; font-weight: 500; }
.register_title span.register_hl{
  padding: 0 10px; background: var(--mbs-dark); color: #fff;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.register_title span.register_txt{ color: #fff; }
.register_text{ color: #fff; }
.register_button{ background: var(--mbs-dark); }
.register_button:hover{ box-shadow: 0 10px 20px rgba(12, 46, 59, .35); }
.register_button a{ display: block; color: #fff; }
.search_section{ background: #EAF1F9; }
.search_background{ opacity: .16; }
.search_title{ color: var(--mbs-ink); }
.search_form .input_field{ height: 48px; margin-bottom: 24px; color: var(--mbs-ink); border-radius: 0; }
.search_form .input_field:last-of-type{ margin-bottom: 0; }
.input_field:focus{ border-color: var(--mbs-green); }
select.input_field{
  -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230C2E3B' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center;
}
.search_submit_button{ background: var(--mbs-grad-main); }
.search_submit_button:focus{ outline-color: var(--mbs-dark); }

/* ---------- Topik (Services) ---------- */
.service_icon{ font-size: 38px; line-height: 1; color: var(--mbs-green); }
.service_item h3{ color: var(--mbs-ink); }
.service_item p{ color: var(--mbs-muted); }

/* ---------- Testimoni ---------- */
.testimonials{ background: var(--mbs-dark); }
.testimonials_background{ opacity: .18; }
.testimonials_item{ margin: 0; }
.quote{ color: var(--mbs-mint); }
.testimonials_text{
  margin: 0; padding: 0; border: 0;
  font-size: 14px; line-height: 2.29; color: #fff;
}
.testimonial_image{
  display: flex; align-items: center; justify-content: center;
  background: var(--mbs-grad-main); color: #fff;
  font-family: 'Open Sans', sans-serif; font-size: 30px; font-weight: 700;
}
.testimonial_image img{ height: 100%; object-fit: cover; }
.testimonial_name{ color: var(--mbs-mint); }
.testimonials_slider .owl-dots .owl-dot{ display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 44px; }
.testimonials_slider .owl-dot span{ border-color: #fff; }
.testimonials_slider .owl-dot.active span{ background: var(--mbs-mint) !important; }

/* ---------- Agenda (Events) ---------- */
.event_item{ padding-bottom: 40px; border-bottom: 1px solid var(--c-line); margin-bottom: 40px; }
.event_item:last-child{ padding-bottom: 0; border-bottom: 0; }
.event_date{ margin-bottom: 0; border-color: var(--mbs-green); }
.event_day, .event_month{ color: var(--mbs-green); }
.event_name{ margin: 0; font-size: inherit; line-height: 1.3; }
.event_name a{ color: var(--mbs-ink); }
.event_name a:hover{ color: var(--mbs-green); }
.event_location{ margin-top: 8px; color: var(--mbs-ink); }
.event_location i, .event_content p i{ width: 18px; margin-right: 8px; color: var(--mbs-green); }
.event_content p{ margin: 8px 0 0; }
.event_more{ display: flex; justify-content: flex-end; }
.events_all{ margin-top: 56px; text-align: center; }

/* ---------- Footer ---------- */
.footer{ background: var(--mbs-dark); }
.newsletter, .footer_content{ border-bottom-color: rgba(255, 255, 255, .14); }
.newsletter_form_container{ max-width: 640px; }
.newsletter_mail{
  display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 24px;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  background: #fff; color: var(--mbs-ink);
}
.newsletter_mail:hover{ color: var(--mbs-green); }
.newsletter_mail i{ color: var(--mbs-green); }
.newsletter_submit_btn{
  display: inline-flex; align-items: center; justify-content: center; height: 48px;
  background: var(--mbs-grad-main); color: #fff;
}
.newsletter_submit_btn:hover, .newsletter_submit_btn:focus{ color: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, .25); }
.footer p, .footer_about_text{ color: var(--c-on-dark); }
.footer_content .logo span{ color: #fff; }
.footer_column_title{ margin: 0; line-height: 1.2; }
.footer_list_item a, .footer_contact_item, .footer_contact_item a{ color: var(--c-on-dark); }
.footer_list_item a:hover, .footer_contact_item a:hover{ color: var(--mbs-mint); }
.footer_contact_item{ display: flex; align-items: flex-start; }
.footer_contact_icon{ flex-shrink: 0; text-align: center; }
.footer_contact_icon i{ font-size: 17px; color: var(--mbs-mint); }
.footer_copyright span{ color: var(--c-on-dark); }
.footer_credit{ display: block; margin-top: 4px; color: #fff; font-weight: 500; }
/* atribusi lisensi CC BY 3.0 template Course: wajib ada, dibuat sekecil mungkin */
.footer_credit_tpl{ font-size: 12px; font-weight: 400; color: var(--c-on-dark); }
.footer_copyright a{ color: var(--mbs-mint); }
.footer_social .menu_social_item a i{ color: #fff; }
.footer_social .menu_social_item a i:hover{ color: var(--mbs-mint); }

/* ---------- Tombol scroll cepat ke atas ---------- */
.scroll_top{
  position: fixed; right: calc(20px + env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 11;
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: var(--mbs-grad-main); color: #fff; font-size: 18px;
  box-shadow: 0 10px 24px rgba(12, 46, 59, .3);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity 250ms ease, transform 250ms ease, visibility 250ms, box-shadow 200ms ease;
}
.scroll_top.is-visible{ opacity: 1; visibility: visible; transform: none; }
.scroll_top:hover{ box-shadow: 0 14px 30px rgba(12, 46, 59, .42); }
.scroll_top:focus-visible{ outline: 3px solid var(--mbs-blue-light); outline-offset: 4px; }
.scroll_top i{ position: relative; }
.scroll_top_ring{ position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.scroll_top_ring circle{ fill: none; stroke-width: 3; stroke: rgba(255, 255, 255, .28); }
.scroll_top_ring .scroll_top_prog{ stroke: #fff; stroke-linecap: round; stroke-dasharray: 138.2; stroke-dashoffset: 138.2; }
/* menu mobile terbuka: tombol disembunyikan supaya tidak menutupi tautan menu */
body.menu-open .scroll_top{ opacity: 0; visibility: hidden; }

/* ---------- Bahasa Arab (dir=rtl): balik sisi padding/margin yang asimetris ---------- */
[dir="rtl"] .scroll_top{ right: auto; left: calc(20px + env(safe-area-inset-left)); }
/* custom.js memasang Owl Carousel tanpa opsi rtl; di halaman rtl posisi slide dihitung
   terbalik dan hero tampil kosong. Rel carousel dipaksa ltr, isi slide tetap rtl. */
[dir="rtl"] .owl-carousel{ direction: ltr; }
[dir="rtl"] .owl-carousel .owl-item > *{ direction: rtl; }
[dir="rtl"] .logo_container{ padding-left: 0; padding-right: 76px; }
[dir="rtl"] .main_nav_container{ margin-left: 0; margin-right: auto; padding-right: 0; padding-left: 93px; }
[dir="rtl"] .main_nav_item{ margin-right: 0; margin-left: 22px; }
[dir="rtl"] .main_nav_item:last-child{ margin-left: 0; }
[dir="rtl"] .main_nav_sub{ left: auto; right: -24px; }
[dir="rtl"] .course_lang{ margin-left: 0; margin-right: 28px; }
[dir="rtl"] .header_side span{ padding-left: 0; padding-right: 12px; }
[dir="rtl"] .hamburger_container{ right: auto; left: 20px; }
[dir="rtl"] .menu{ text-align: right; }
[dir="rtl"] .hero_box{ padding-left: 0; padding-right: 50px; }
[dir="rtl"] .hero_box_content{ padding-left: 0; padding-right: 13px; }
[dir="rtl"] .service_item{ text-align: right !important; }
[dir="rtl"] .price_box{ padding-left: 0; padding-right: 24px; }
[dir="rtl"] .course_author_name{ padding: 0 14px 0 12px; }
[dir="rtl"] .course_price{ margin-left: 0; margin-right: auto; }
[dir="rtl"] .event_location i, [dir="rtl"] .event_content p i{ margin-right: 0; margin-left: 8px; }
[dir="rtl"] .event_more{ justify-content: flex-start; }
[dir="rtl"] .footer_contact_icon{ margin-right: 0; margin-left: 10px; }
[dir="rtl"] .footer_social{ margin-left: 0 !important; margin-right: auto; }
[dir="rtl"] .course_result a{ margin-left: 0; margin-right: 10px; }

/* ---------- Responsif (mengikuti titik henti responsive.css template) ---------- */
@media only screen and (max-width: 1380px){
  .main_nav_container{ padding-right: 40px; }
  .course_lang{ margin-left: 20px; }
  .header_side i{ font-size: 18px; }
  [dir="rtl"] .main_nav_container{ padding-left: 40px; }
}
@media only screen and (max-width: 1280px){
  .hero_title{ font-size: 56px; }
  .logo_container{ padding-left: 40px; }
  [dir="rtl"] .logo_container{ padding-right: 40px; }
}
@media only screen and (max-width: 1199px){
  .main_nav_item{ margin-right: 20px; }
  .logo span{ font-size: 22px; }
  [dir="rtl"] .main_nav_item{ margin-left: 20px; }
  [dir="rtl"] .hero_box{ padding-right: 20px; }
}
@media only screen and (max-width: 991px){
  .hero_title{ font-size: 48px; }
  .logo_container{ padding-left: 30px; }
  .hero_boxes{ padding-top: 80px; }
  .event_date{ margin-top: 0; margin-bottom: 18px; }
  .event_more{ justify-content: flex-start; margin-top: 20px; }
  [dir="rtl"] .logo_container{ padding-right: 30px; }
  [dir="rtl"] .hero_box{ padding-right: 50px; }
}
@media only screen and (max-width: 767px){
  .page_section{ padding-top: 80px; padding-bottom: 80px; }
  .services{ padding-bottom: 40px; }
  .menu_group_title{ font-size: 28px; }
  .newsletter_mail{ justify-content: center; }
  .newsletter_submit_btn{ width: 100%; }
  .footer_bar{ text-align: center; }
}
/* Target sentuh tautan teks di layar sentuh: minimal 44px tinggi */
@media (max-width: 767.98px), (pointer: coarse){
  .footer_list_item{ margin-bottom: 0; }
  .footer_list_item a{ display: inline-block; padding: 12px 0; }
  .footer_contact_item a, .footer_copyright a{ display: inline-block; padding: 12px 0; margin: -12px 0; }
  .logo{ min-height: 44px; }
  .event_name a{ display: inline-block; padding: 6px 0; }
}
@media only screen and (max-width: 575px){
  .section_title h2, .register_title, .search_title{ font-size: 24px; }
  .logo img{ width: 34px; height: 34px; }
  .logo span{ font-size: 18px; }
  .logo_container{ padding-left: 15px; }
  .menu{ padding: 90px 30px 50px; }
  .menu_group_title{ font-size: 24px; }
  .menu_sub{ grid-template-columns: minmax(0, 1fr); }
  .card-title{ margin-top: 30px; }
  .price_box{ padding-left: 16px; }
  .course_filter{ padding: 0 14px; }
  .hero_boxes{ padding-top: 64px; }
  .page_section{ padding-top: 64px; padding-bottom: 64px; }
  .course_boxes{ margin-top: 36px; }
  .scroll_top{ right: calc(14px + env(safe-area-inset-right)); bottom: calc(14px + env(safe-area-inset-bottom)); width: 48px; height: 48px; font-size: 16px; }
  [dir="rtl"] .scroll_top{ right: auto; left: calc(14px + env(safe-area-inset-left)); }
  .event_item{ padding-bottom: 32px; margin-bottom: 32px; }
  [dir="rtl"] .logo_container{ padding-right: 15px; }
  [dir="rtl"] .price_box{ padding-right: 16px; }
}
@media only screen and (max-width: 479px){
  .hero_title{ font-size: 30px; }
  .hero_slide_content .hero_title span.hero_hl{ padding: 0 6px; }
  .hero_box_icon{ width: 45px; font-size: 34px; }
  [dir="rtl"] .hero_box{ padding-right: 15px; }
}
/* HP landscape: tinggi layar pendek, judul hero dikecilkan supaya tidak terpotong */
@media (max-height: 500px) and (orientation: landscape){
  .hero_title{ font-size: 34px; }
  .home, .hero_slide_container{ min-height: 420px; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after, .animated{ transition-duration: .01ms !important; animation-duration: .01ms !important; animation-delay: 0ms !important; }
}
