*,
html {
  margin: 0;
  padding: 0;
}

:root {
  --primary-color: #2196f3;
  --secondary-color: #f50057;
  --bg: white;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  border: none;
  text-decoration: none;
}

body {
  font-family: "poppins", sans-serif;
  background-color: white;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.container-navbar {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 7%;
  background-color: var(--bg);
  border-bottom: 2px solid var(--primary-color);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

.img-navbar {
  width: 250px; /* Atur ukuran gambar */
  height: auto;
  display: block; /* Agar tidak terpengaruh flex */
  margin-left: -30px; /* Pastikan di kiri */
  margin-top: 5px; /* Opsional, beri jarak dari atas */
}

.container-navbar .navbar-list a {
  display: inline-block;
  font-size: 1.4rem;
  margin: 0 1rem;
  color: black;
  position: relative; /* Tambahkan agar ::after bisa diposisikan */
  padding-bottom: 0.7rem; /* Tambahkan jarak bawah agar garis hover terlihat */
}

.container-navbar .navbar-list a::after {
  content: "";
  display: block;
  position: absolute; /* Garis bawah menempel di bawah link */
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px; /* Tebalkan garis hover */
  background: var(--primary-color);
  transform: scaleX(0);
  transition: transform 0.3s linear;
}

.container-navbar .navbar-list a:hover::after {
  transform: scaleX(0.7); /* Lebarkan garis saat hover */
}

.container-navbar .navbar-extra a {
  color: black;
  margin: 0 0.5rem;
}

.container-navbar .navbar-extra a:hover {
  color: var(--primary-color);
}

.container-navbar .navbar-list {
  margin-top: 12px;
}

#hamburger-menu {
  display: none;
}

/* ===== LANGUAGE DROPDOWN DENGAN IKON PANAH ===== */
.language-dropdown {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  z-index: 1000;
  transform: translateY(-4px);
}

/* Tombol utama dropdown bahasa */
.language-dropdown .lang-btn {
  background-color: transparent;
  color: #333;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background 0.2s ease;
}

/* Hover efek biar konsisten dengan tombol kanan */
.language-dropdown .lang-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Gaya ikon panah */
.language-dropdown .lang-btn svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
  transition: transform 0.2s ease;
  position: relative;
  top: 1px;
}

/* Saat dropdown dihover, panah berputar ke atas */
.language-dropdown:hover .lang-btn svg {
  transform: rotate(180deg);
}

/* Daftar bahasa (dropdown menu) */
.language-dropdown .lang-content {
  display: none;
  position: absolute;
  right: 0;
  background-color: white;
  min-width: 160px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

/* Isi pilihan bahasa */
.language-dropdown .lang-content a {
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  transition: background 0.2s ease;
}

.language-dropdown .lang-content a:hover {
  background-color: #f3f3f3;
}

/* Saat di-hover, tampilkan daftar bahasa */
.language-dropdown:hover .lang-content {
  display: block;
}

/* ================================== */
/* STYLING DROPDOWN (PRODUCT SUBMENU) */
/* ================================== */

/* Container untuk item "PRODUCTS" */
.nav-item-dropdown {
  position: relative; /* Wajib untuk posisi submenu */
  /* Menyamakan tampilan dengan link <a> lainnya */
  display: inline-block;
  margin: 0 1rem;
  padding-bottom: 0.7rem;
}

/* Link "PRODUCTS" (termasuk .a-navbar) */
.nav-item-dropdown .dropdown-btn {
  display: flex; /* Agar panah sejajar */
  align-items: center;
  padding-bottom: 0; /* Hapus padding bawah ganda */
  margin: 0; /* Hapus margin ganda */
}

/* Ikon Panah */
.dropdown-icon {
  width: 1rem;
  height: 1rem;
  margin-left: 0.3rem;
  transition: transform 0.3s ease;
}

/* Container "hamburger list" (Submenu) */
.dropdown-menu {
  display: none; /* Sembunyikan by default */
  position: absolute;
  top: 100%; /* Muncul di bawah "PRODUCTS" */
  left: 0;
  background-color: white;
  min-width: 250px; /* Lebar dropdown */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
  border-radius: 5px;
  z-index: 1000;
  padding: 0.5rem 0;
}

/* Link di dalam dropdown */
.submenu-link {
  display: block;
  padding: 0.75rem 1.5rem;
  color: black;
  font-size: 1.2rem; /* Ukuran font di dalam dropdown */
  margin: 0;
}
.submenu-link:hover {
  background-color: #f0f0f0;
  color: var(--primary-color);
}
.submenu-link::after {
  display: none; /* Hilangkan garis hover di submenu */
}

/* --- Perilaku HOVER di DESKTOP --- */
.nav-item-dropdown:hover .dropdown-menu {
  display: block; /* Tampilkan menu saat di-hover */
}

.nav-item-dropdown:hover .dropdown-icon {
  transform: rotate(180deg); /* Putar panah saat di-hover */
}

/* KUNCI: Membuat ikon search dan form inline sejajar */
.navbar-extra {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.navbar-extra a {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

.navbar-extra a#shopping-bag,
.navbar-extra a#hamburger-menu {
  margin-right: 0.5rem;
}
/* Styling Form Pencarian Inline BARU */
.search-form-inline {
  display: flex;
  align-items: center;
  position: relative;

  /* KUNCI: Sembunyikan form secara default */
  max-width: 0 !important;
  opacity: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  min-width: 0;
  /* Animasi muncul/hilang */
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden; /* Penting untuk menghilangkan elemen saat width 0 */
}

/* Class yang diaktifkan oleh JavaScript */
.search-form-inline.active {
  max-width: 200px !important; /* Lebar muncul yang diinginkan (bisa disesuaikan) */
  opacity: 1;
  margin-right: 0; /* Beri jarak lagi dari ikon search */
}

.search-form-inline input[type="search"] {
  width: 200px;
  padding: 8px 80px 8px 15px; /* Tambah padding kanan untuk tombol submit */
  border: 1px solid var(--primary-color);
  border-radius: 50px; /* Bentuk kapsul */
  font-size: 1rem;
  background-color: #fff;
  /* Hilangkan tombol silang bawaan browser (silang hitam/abu-abu) */
  -webkit-appearance: none;
  appearance: none;
}
.search-form-inline input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

/* Tombol Submit di dalam form (ikon cari) */
.search-form-inline button[type="submit"] {
  position: absolute;
  right: 0px;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 40px;
  background: none;
  color: var(--primary-color);
  cursor: pointer;
  border-radius: 0 50px 50px 0; /* Agar bentuknya mengikuti kapsul input */
}
.search-form-inline button[type="submit"] i {
  width: 20px;
  height: 20px;
}

/* --- STYLING BARU UNTUK contact.html --- */

/* 1. Contact Hero */
.contact-hero {
  padding: 120px 7% 40px 7%;
  text-align: center;
  background-color: #f0f8ff; /* Latar biru muda */
}
.contact-hero h1 {
  font-size: 2.8em;
  color: var(--primary-color);
  margin-bottom: 10px;
}
.contact-hero p {
  font-size: 1.1em;
  color: #555;
}

/* 2. Contact Details Grid */
.contact-details-section {
  padding: 4rem 7%;
}
.contact-grid {
  display: grid;
  /* 4 kolom di desktop, 2 di tablet, 1 di mobile */
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
}
.contact-card {
  background-color: #fcfcfc;
  border: 3px solid #eee;
  padding: 25px;
  text-align: center;
  border-radius: 8px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.contact-card i {
  width: 40px;
  height: 40px;
  color: var(--primary-color);
  margin-bottom: 15px;
}
.contact-card h3 {
  font-size: 1.4em;
  margin-bottom: 5px;
}
.contact-card p {
  font-size: 1.1em;
  color: #666;
}
.contact-card.email-card p {
  /* Spesifik untuk kartu email */
  font-size: 1rem;
}

/* 3. Catalog CTA Button */
.catalog-cta-section {
  padding: 1rem 7%;
  text-align: center;
  background-color: #f9f9f9;
}
.cta-button {
  /* Styling tombol dari Beranda */
  display: inline-block;
  padding: 15px 30px;
  background-color: #007bff; /* Warna biru */
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s;
  font-size: 1.2em;
}
.cta-button:hover {
  background-color: #0056b3;
}

/* 4. Map Section */
.map-section {
  width: 100%;
  /* Iframe akan mengambil 100% width */
}

/* 5. Bottom Info (Alamat & FAQ) */
.bottom-info-section {
  padding: 4rem 7%;
}
.bottom-info-container {
  display: flex;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
}
.address-box,
.faq-box {
  flex: 1;
}
.address-box h3,
.faq-box h3 {
  font-size: 1.6em;
  color: #333;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--primary-color);
  padding-bottom: 5px;
}
.address-box p {
  font-size: 1.1em;
  line-height: 1.7;
  color: #555;
}

/* Styling FAQ Accordion */
.faq-box details {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}
.faq-box summary {
  font-size: 1.1em;
  font-weight: 600;
  cursor: pointer;
  list-style: none; /* Hilangkan panah default */
  position: relative;
  padding-right: 25px;
}
.faq-box summary::after {
  /* Buat panah custom */
  content: "+";
  position: absolute;
  right: 5px;
  font-size: 1.5em;
  color: var(--primary-color);
  transition: transform 0.3s;
}
.faq-box details[open] summary::after {
  transform: rotate(45deg);
}
.faq-box details[open] p {
  padding-top: 10px;
  font-size: 1em;
  color: #555;
  line-height: 1.6;
}

/* Responsif untuk Kontak & FAQ */
@media (max-width: 768px) {
  .bottom-info-container {
    flex-direction: column;
  }
}

/* --- Floating WA Button --- */
.floating-whatsapp {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px 10px 10px;
  min-width: 60px;
  height: 60px;
  background-color: #25d366;
  color: white;
  border-radius: 45%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease-in-out, box-shadow 0.3s;
  overflow: hidden;
}

.floating-whatsapp i {
  width: 30px;
  height: 30px;
}

.floating-whatsapp:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
}

.whatsapp-text {
  white-space: nowrap;
  font-size: 1em;
  font-weight: 500;
  color: white;
  margin-left: 10px;
  opacity: 0;
  max-width: 0;
  transition: opacity 0.3s, width 0.5s ease-in-out;
}

.floating-whatsapp.show-text .whatsapp-text {
  opacity: 1;
  max-width: 150px;
}

/* --- FOOTER SECTION --- */
.container-footer {
  background-color: #333; /* Warna gelap untuk footer */
  color: white;
  padding: 3rem 7%;
  margin-top: auto; /* Memastikan footer selalu di bawah (jika body memiliki min-height: 100vh) */

  /* Menggunakan Flexbox untuk membagi konten menjadi dua kolom */
  display: flex;
  justify-content: space-between; /* Memisahkan konten kiri dan kanan */
  align-items: flex-start; /* Konten rata atas */
  flex-wrap: wrap; /* Penting untuk responsif di layar kecil */
}

/* Kiri: Slogan dan Nama Perusahaan */
.footer-left {
  max-width: 45%; /* Ambil 45% lebar */
  padding-right: 20px;
}

.footer-left .h2-footer {
  font-size: 1.8em;
  margin-bottom: 10px;
  font-weight: 700;
}

.footer-left .h3-footer {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.6;
  opacity: 0.8;
}

/* Kanan: Detail Kontak */
.footer-right {
  max-width: 50%; /* Ambil 50% lebar */
  display: flex;
  flex-direction: column; /* Konten kontak berjejer vertikal */
}

.contact-item {
  display: flex;
  align-items: flex-start; /* Rata atas karena alamat panjang */
  margin-bottom: 15px;
  gap: 15px; /* Jarak antara ikon dan teks */
}

.contact-item i {
  width: 20px;
  height: 20px;
  color: var(--primary-color); /* Beri warna ikon yang sama dengan navbar */
  margin-top: 5px; /* Sedikit geser ikon ke bawah agar sejajar dengan teks */
  flex-shrink: 0; /* Penting agar ikon tidak mengecil */
}

.contact-item p {
  font-size: 1em;
  line-height: 1.4;
  margin: 0;
}

/* MEDIA QUERIES (Untuk Tampilan Ponsel) */
@media (max-width: 758px) {
  .container-footer {
    flex-direction: column; /* Tumpuk konten vertikal */
    text-align: center; /* Tengah teks untuk tampilan ponsel */
  }

  .footer-left,
  .footer-right {
    max-width: 100%;
    padding: 0;
    margin-bottom: 30px;
    text-align: center;
  }

  .footer-right {
    align-items: center; /* Tengah item kontak */
  }

  .contact-item {
    align-items: center;
    flex-direction: column; /* Tumpuk ikon di atas teks */
    text-align: center;
    gap: 5px;
  }

  .contact-item i {
    margin-top: 0;
  }
}

/* Media Queries */

/* Laptop */
@media (max-width: 1366px) {
  html {
    font-size: 75%;
  }
}

/* Tablet */

@media (max-width: 758px) {
  html {
    font-size: 62.5%;
  }

  #hamburger-menu {
    display: inline-block;
  }

  .container-navbar .navbar-list {
    position: absolute;
    top: 100%;
    right: -100%; /* Sembunyikan di luar layar */
    background-color: white;
    width: 30rem;
    height: 100vh;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
    transition: right 0.3s ease;
    display: flex;
    margin: 0;
    font-size: 2rem;
  }

  .container-navbar .navbar-list {
    z-index: 9999;
  }

  .container-navbar .navbar-list.active {
    right: 0; /* Munculkan menu */
  }

  .container-navbar .navbar-list a::after {
    display: none; /* Hilangkan garis bawah di mode mobile */
  }
  /* 1. Mengecilkan Logo di Mobile */
  .img-navbar {
    width: 180px; /* Kecilkan dari 250px */
    margin-left: -15px; /* Sesuaikan margin agar pas */
  }

  /* 2. Menyembunyikan Teks "Bahasa" di Mobile */
  .language-dropdown .lang-btn .lang-text {
    display: none; /* Sembunyikan teks */
  }
  .language-dropdown .lang-btn {
    padding: 8px; /* Kecilkan padding tombolnya */
    gap: 2px; /* Rapatkan ikon globe dan panah */
  }

  /* Container Dropdown ("PRODUCTS") */
  .container-navbar .navbar-list.active .nav-item-dropdown {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Tombol "PRODUCTS" (a.dropdown-btn) */
  .container-navbar .navbar-list.active .nav-item-dropdown .dropdown-btn {
    display: flex; /* Membuat teks dan ikon sejajar */
    justify-content: space-between; /* Mendorong ikon ke kanan */
    align-items: center;
    width: 100%;
    padding: 0.5rem 0; /* Jarak atas/bawah */
    margin: 1.5rem 0; /* Jarak dari menu lain (sesuaikan dengan .a-navbar) */
    font-size: 2rem; /* ✅ UKURAN FONT SAMA */
  }

  /* Ikon Panah (Memastikan ikon terlihat) */
  .container-navbar .navbar-list.active .dropdown-icon {
    display: inline-block; /* ✅ Memastikan ikon tampil */
    width: 1.5rem; /* Ukuran ikon */
    height: 1.5rem;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
  }

  /* Putar panah saat "Hamburger List" aktif */
  .container-navbar
    .navbar-list.active
    .nav-item-dropdown.active
    .dropdown-icon {
    transform: rotate(180deg);
  }

  /* Container "Hamburger List" (div.dropdown-menu) */
  .container-navbar .navbar-list.active .dropdown-menu {
    position: static;
    display: none; /* Sembunyi by default */
    width: 100%;
    background-color: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
  }

  /* Tampilkan "Hamburger List" saat di-klik (JS tambah class .active) */
  .container-navbar
    .navbar-list.active
    .nav-item-dropdown.active
    .dropdown-menu {
    display: block; /* Tampilkan secara vertikal */
  }

  /* Link Kategori di dalam "Hamburger List" (a.submenu-link) */
  .container-navbar .navbar-list.active .dropdown-menu .submenu-link {
    display: block; /* Tumpuk vertikal */
    font-size: 1.8rem; /* ✅ UKURAN FONT SAMA */
    color: #555; /* Warna lebih redup */
    margin: 0;
    padding: 0.7rem 0 0.7rem 1.6rem; /* Beri indentasi (padding-left) */
    width: 100%;
  }
  .container-navbar .navbar-list.active .submenu-link::after {
    display: none; /* Hilangkan garis bawah di submenu */
  }

  /* Atur jarak SEMUA item menu level 1 */
  .container-navbar .navbar-list.active > a.a-navbar,
  .container-navbar .navbar-list.active > .nav-item-dropdown {
    margin: 1rem 0; /* Jarak vertikal antar item */
    padding: 0; /* Hapus padding desktop */
    width: 100%;
  }

  /* Hapus margin duplikat dari tombol dropdown */
  .container-navbar .navbar-list.active .nav-item-dropdown .dropdown-btn {
    margin: 0; /* Margin sudah diatur oleh parent (.nav-item-dropdown) */
  }

  .container-hero {
    padding-top: 80px; /* Tambahkan padding untuk menghindari tumpang tindih dengan navbar */
  }

  .search-form-inline {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 0.5rem 7%;
    background-color: transparent;
    box-shadow: none;
    border-top: none;
    z-index: 999;
    max-width: 0;
    width: 100%;
    opacity: 0;
    transition: all 0.3s ease;
    display: flex;
    overflow: visible;
  }

  /* Form aktif akan muncul 100% */
  .search-form-inline.active {
    max-width: 100%; /* Lebar penuh */
    opacity: 1;
  }

  /* Pastikan input dan button di mobile tetap rapi */
  .search-form-inline input[type="search"] {
    flex: 1; /* Ambil sisa lebar */
    margin-right: 0.5rem;
  }
}

.navbar-extra a {
  gap: 1rem;
}
.navbar-extra a#search {
}

/* Mobile Phone */
@media (max-width: 450px) {
  html {
    font-size: 55%;
  }

  .container-hero .hero-image img {
    margin-top: 100px;
  }
  /* Floating WA (Mobile) */
  .floating-whatsapp {
    height: 50px;
    min-width: 50px;
    border-radius: 25px;
    padding: 5px 15px 5px 5px;
  }
  .floating-whatsapp i {
    width: 25px;
    height: 25px;
  }
}

/* style.css (Di bagian bawah) */
.cursor {
  display: inline-block;
  margin-left: 3px;
  font-weight: 300;
  animation: blink 0.7s infinite;
}

@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
