/* Anda dapat menambahkan custom CSS murni di sini jika diperlukan */

/* Hide Scrollbar - Cross Browser */
html {
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

html::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}

body {
  -ms-overflow-style: none;
}

body::-webkit-scrollbar {
  display: none;
}

[data-aos] {
  opacity: 0;
}

/* ============================================
   RESPONSIVE FONT SIZE STANDARD - PRODUCTION
   ============================================
   
   STANDAR UKURAN FONT KONSISTEN:
   Desktop (1024px+): Ukuran penuh untuk pengalaman optimal
   Tablet (768-1023px): 85% dari desktop size
   Tablet Small (640-767px): 65% dari desktop size  
   Mobile (< 640px): 50% dari desktop size
*/

/* DESKTOP STANDARD (1024px+) - Baseline */
@media (min-width: 1024px) {
  .text-xs { font-size: 0.65rem !important; }
  .text-sm { font-size: 0.75rem !important; }
  .text-base, p { font-size: 0.875rem !important; }
  .text-lg { font-size: 1rem !important; }
  .text-xl { font-size: 1.125rem !important; }
  .text-2xl { font-size: 1.25rem !important; }
  .text-3xl, h4 { font-size: 1.5rem !important; }
  .text-4xl { font-size: 1.875rem !important; }
  .text-5xl { font-size: 2.25rem !important; }
  .text-6xl, h3 { font-size: 3rem !important; }
  .text-7xl, h2 { font-size: 3.75rem !important; }
  .text-8xl, h1 { font-size: 4.5rem !important; }
}

/* TABLET (768px - 1023px) - 85% dari Desktop */
@media (min-width: 768px) and (max-width: 1023px) {
  .text-xs { font-size: 0.55rem !important; }
  .text-sm { font-size: 0.65rem !important; }
  .text-base, p { font-size: 0.75rem !important; }
  .text-lg { font-size: 0.85rem !important; }
  .text-xl { font-size: 1rem !important; }
  .text-2xl { font-size: 1.1rem !important; }
  .text-3xl, h4 { font-size: 1.3rem !important; }
  .text-4xl { font-size: 1.6rem !important; }
  .text-5xl { font-size: 1.95rem !important; }
  .text-6xl, h3 { font-size: 2.55rem !important; }
  .text-7xl, h2 { font-size: 3.2rem !important; }
  .text-8xl, h1 { font-size: 3.85rem !important; }
}

/* TABLET SMALL (640px - 767px) - 80% dari Desktop (Diperbesar) */
@media (min-width: 640px) and (max-width: 767px) {
  .text-xs { font-size: 0.52rem !important; }
  .text-sm { font-size: 0.6rem !important; }
  .text-base, p { font-size: 0.7rem !important; }
  .text-lg { font-size: 0.8rem !important; }
  .text-xl { font-size: 0.9rem !important; }
  .text-2xl { font-size: 1rem !important; }
  .text-3xl, h4 { font-size: 1.2rem !important; }
  .text-4xl { font-size: 1.5rem !important; }
  .text-5xl { font-size: 1.8rem !important; }
  .text-6xl, h3 { font-size: 2.4rem !important; }
  .text-7xl, h2 { font-size: 3rem !important; }
  .text-8xl, h1 { font-size: 3.6rem !important; }
}

/* MOBILE (< 640px) - 70% dari Desktop (Diperbesar untuk readability) */
@media (max-width: 639px) {
  .text-xs { font-size: 0.46rem !important; }
  .text-sm { font-size: 0.52rem !important; }
  .text-base, p { font-size: 0.61rem !important; }
  .text-lg { font-size: 0.7rem !important; }
  .text-xl { font-size: 0.79rem !important; }
  .text-2xl { font-size: 0.87rem !important; }
  .text-3xl, h4 { font-size: 1.05rem !important; }
  .text-4xl { font-size: 1.31rem !important; }
  .text-5xl { font-size: 1.57rem !important; }
  .text-6xl, h3 { font-size: 2.1rem !important; }
  .text-7xl, h2 { font-size: 2.62rem !important; }
  .text-8xl, h1 { font-size: 3.15rem !important; }
}

/* UNIVERSAL LINE HEIGHT STANDARDS */
h1, h2, h3, h4, h5, h6 { line-height: 1.2 !important; }
p, span, .text-base, .text-lg { line-height: 1.6 !important; }
.text-sm, .text-xs { line-height: 1.4 !important; }

/* Prevent text overflow on mobile */
body, html {
  word-break: break-word;
  overflow-wrap: break-word;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}