﻿:root {
  --bs-font-sans-serif: "Rethink Sans", sans-serif;
  --bs-body-font-size: clamp(14px, 1vw + 0.5rem, 18px);
}

.accordion-header {
  background-color: #f3f4f6;
}

.accordion-button {
  background-color: #f3f4f6;
}

.accordion-item {
  border-bottom: 2px solid black; /* Border bawah */
  background-color: #f3f4f6;
}

.accordion-flush .accordion-item:first-child {
  border-top: 2px solid black; /* Border atas */
}

.accordion-flush .accordion-item:last-child {
  border-bottom: 2px solid black; /* Border atas */
}

.accordion-button::after {
  background-image: url("/images/faq-button-minimized.svg") !important;
  /*
    Replace with your SVG path 
    */
  /*Or use a different icon library's syntax, e.g., Font Awesome: 
     content: "\f055";*/ /* Font Awesome plus icon 
     font-family: "Font Awesome 5 Free"; 
     font-weight: 900; */
}

.accordion-button:not(.collapsed) {
  background-color: #f3f4f6;
  box-shadow: none;
  color: black;
  font-size: 1.125rem;
  &::after {
    background-image: url("/images/faq-button-expanded.svg") !important;
    /* Or for Font Awesome:  Icon for expanded state */
    /* content: "\f056"; /* Font Awesome minus icon */
  }
}

.howto {
  position: relative;
}

.track {
  display: flex;
  gap: 16px;
  padding: 16px;
  padding-right: 30rem; /* space kosong di kanan */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE lama */
}

.track::-webkit-scrollbar {
  display: none;
}

.card {
  /*    flex: 0 0 280px;*/
  width: 329px;
  flex-shrink: 0;
  scroll-snap-align: start;
  border-radius: 12px;
  background: #eef1f6;
  background-color: #6a7282;
  /*    padding: 20px;*/
  border: none;
  .instruction {
    padding: 1.5rem;
  }

  .card-thumbnail {
    background-color: white;
  }
}

.nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.nav[data-dir="prev"] {
  left: 8px;
  z-index: 50;
  margin-inline: auto;
  display: block;
}

.nav[data-dir="next"] {
  right: 8px;
  z-index: 50;
  margin-inline: auto;
  display: block;
}

@media (min-width: 992px) {
  .card {
    /*        flex-basis: 25%;*/
    /*        max-width: 25%;*/
  }
}

@media (max-width: 768px) {
  .what-is-title {
    flex-basis: unset;
  }

  .what-is-content {
    flex-basis: unset;
  }
}

.limit-2-words {
  display: inline-block;
  max-width: 15ch;
  word-wrap: break-word;
  line-height: 1.6;
}

.custom-body-text {
  font-size: clamp(16px, 1vw + 1.5rem, 20px);
}

.header-text {
  font-size: clamp(16px, 1vw + 1rem, 20px);
}

.header-nav {
  gap: 0.75rem;
}

.header-lang a {
  font-size: clamp(14px, 1vw + 0.5rem, 16px);
}

.custom-paragraph-text {
  font-size: clamp(18px, 2vw + 0.75rem, 20px);
}

.custom-paragraph-content-text {
  font-size: clamp(16px, 2vw + 2.25rem, 20px);
}

.faq-q-text {
  font-size: clamp(18px, 2vw + 1.5rem, 20px) !important;
}

.faq-content-text {
  font-size: clamp(16px, 2vw + 1.5rem, 18px) !important;
}

/* Hero Section Responsive Styles */
.hero-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.hero-text {
  font-size: clamp(16px, 2vw + 0.5rem, 18px) !important;
}

.hero-title {
  font-size: clamp(2rem, 4vw, 3.75rem);
  line-height: 1.2;
}

.hero-subtitle-1 {
  font-size: clamp(1.25rem, 3vw, 1.875rem);
  line-height: 1.3;
}

.hero-subtitle-2 {
  font-size: clamp(1.125rem, 2.5vw, 1.75rem);
  line-height: 1.3;
}

.hero-text-content {
  flex: 1;
  max-width: 100%;
}

.hero-phone-image {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.hero-phone-image img {
  width: 100%;
  height: auto;
  border-radius: 2rem;
  max-height: 600px;
  object-fit: contain;
}

.hero-buttons {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
}

.hero-buttons .btn {
  min-width: 140px;
  white-space: nowrap;
  flex: 1;
  max-width: 200px;
  border-radius: 0.5rem;
  font-weight: 500;
}

/* Mobile - Extra Small */
@media (max-width: 575px) {
  .hero-container {
    gap: 2rem;
    text-align: center;
  }

  .hero-phone-image {
    max-width: 280px;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .hero-buttons .btn {
    width: 100%;
    max-width: 100%;
  }
}

/* Tablet - Small to Medium (576px - 991px) */
@media (min-width: 576px) and (max-width: 991px) {
  .hero-container {
    flex-direction: column !important;
    gap: 2.5rem;
    text-align: center;
  }

  #hero {
    padding-bottom: 4rem !important;
  }

  .hero-text-content {
    max-width: 600px;
    margin: 0 auto;
  }

  .hero-phone-image {
    max-width: 260px;
    margin: 0 auto;
  }

  .hero-title {
    font-size: clamp(3rem, 4vw, 2.5rem);
  }

  .hero-subtitle-1 {
    font-size: clamp(1.75rem, 2.75vw, 1.625rem);
  }

  .hero-subtitle-2 {
    font-size: clamp(1.75rem, 2vw, 1.375rem);
  }

  .hero-buttons {
    justify-content: center !important;
  }
}

/* Specific fix for 680px - 800px range */
@media (min-width: 680px) and (max-width: 800px) {
  .hero-container {
    gap: 2rem !important;
  }

  .hero-text-content {
    max-width: 90%;
  }

  .hero-phone-image {
    max-width: 240px;
  }

  .hero-buttons {
    max-width: 100%;
    flex-direction: column !important;
    align-items: center;
  }

  .hero-buttons .btn {
    width: 100%;
    max-width: 280px;
  }
}

/* Desktop - Large screens (992px and up) */
@media (min-width: 992px) {
  .hero-container {
    flex-direction: row !important;
    gap: 3rem;
  }

  .hero-text-content {
    max-width: 55%;
    text-align: left;
  }

  .hero-phone-image {
    max-width: 350px;
    margin: 0;
  }

  .hero-buttons {
    justify-content: flex-start !important;
  }
}

#cta-button a {
  display: inline-block !important;
}

#cta-button > * + * {
  margin-top: 8px !important;
}

/* Mobile Navigation Styles */
.navbar-toggler {
  border: none;
  padding: 0.5rem;
  background: transparent;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.hover-bg-white-10:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.offcanvas-body nav a {
  font-size: 1rem;
}

.offcanvas-body nav a i {
  opacity: 0.8;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .navbar-brand img {
    height: 35px !important;
  }

  /* Adjust container padding for tablet */
  .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Tablet portrait and landscape (576px - 991px) */
@media (min-width: 576px) and (max-width: 991px) {
  .custom-paragraph-text {
    font-size: clamp(16px, 2vw, 18px);
  }

  .custom-body-text {
    font-size: clamp(16px, 1.5vw, 18px);
  }
}


@media (max-width: 400px) {
  .header-nav {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.35rem;
  }

  .header-nav > a {
    margin-right: 0 !important;
    padding: 0.25rem 0;
  }

  .header-lang {
    border-left: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-top: 0.35rem;
    width: 100%;
    justify-content: flex-start;
    gap: 0.35rem;
  }
}
