/* === Responsive Global CSS === */

/* Background Website */
body.bg-site {
  position: relative;
  min-height: 100vh;
}

body.bg-site::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  background-image: var(--bg-image);
  z-index: -1; /* Letakkan di belakang semua konten */
}

/* Efek Shadow Halus */
.shadow-soft {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover efek untuk card */
.card.shadow-soft:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

/* Carousel image */
#mainCarousel img {
  border-radius: 10px;
}

/* Carousel animasi smooth */
.carousel-item {
  transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
}

/* Tablet dan HP */
@media (max-width: 768px) {
  /* Navbar */
  .navbar-brand img {
    height: 30px !important;
  }
  .navbar-nav .nav-link {
    font-size: 14px;
    padding: 6px 8px;
  }

  /* Container */
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Card Produk */
  .card img {
    height: 180px !important;
    object-fit: cover;
  }
  .card-title {
    font-size: 1rem;
  }

  /* Heading */
  h2, h3, h4 {
    font-size: 1.2rem;
  }
}

/* HP Kecil */
@media (max-width: 480px) {
  .navbar-brand img {
    height: 25px !important;
  }
  h2, h3, h4 {
    font-size: 1rem;
  }
  .btn {
    font-size: 0.85rem;
    padding: 6px 10px;
  }
}

/* ==== Mobile Friendly Styling untuk index.php ==== */
@media (max-width: 768px) {
  body.home-page h2 {
    font-size: 1.4rem;
    text-align: center;
  }

  body.home-page .carousel img {
    border-radius: 6px;
    max-height: 200px;
    object-fit: cover;
  }

  body.home-page .card img {
    height: 120px !important;
  }

  body.home-page .card .card-body h5,
  body.home-page .card .card-body h6 {
    font-size: 0.95rem;
  }

  body.home-page .btn {
    font-size: 0.8rem;
    padding: 6px 8px;
  }

  body.home-page .container {
    padding-left: 8px;
    padding-right: 8px;
  }
}

@media (max-width: 480px) {
  body.home-page h2 {
    font-size: 1.2rem;
  }

  body.home-page .card img {
    height: 100px !important;
  }

  body.home-page .btn {
    font-size: 0.75rem;
    padding: 5px 8px;
  }
}

/* ==== Styling khusus tombol Login/Daftar di navbar ==== */
@media (max-width: 768px) {
  .navbar-nav .btn {
    padding: 6px 10px;
    font-size: 0.85rem;
  }

  .navbar-nav .btn + .btn {
    margin-left: 6px;
  }
}

@media (max-width: 480px) {
  /* Stack tombol di layar sangat kecil */
  .navbar-nav.ms-auto {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .navbar-nav.ms-auto .btn {
    width: 100%;
    margin-bottom: 6px;
    font-size: 0.8rem;
    padding: 8px;
  }

  .navbar-nav.ms-auto .btn:last-child {
    margin-bottom: 0;
  }
}

/* === Tombol Login & Daftar Bersebelahan di Mobile === */
@media (max-width: 768px) {
  .navbar-nav.ms-auto .nav-item.d-flex {
    justify-content: center;
    margin-top: 10px;
  }

  .navbar-nav.ms-auto .btn {
    flex: 1;
    font-size: 0.9rem;
    padding: 6px 10px;
  }
}

/* ===== Navbar polish ===== */
.navbar.sticky-top { box-shadow: 0 2px 10px rgba(0,0,0,.05); }

.navbar .nav-link {
  font-weight: 500;
  padding: .5rem .75rem;
}
.navbar .nav-link:hover { color: #0d6efd; }

.navbar .dropdown-menu {
  border-radius: .5rem;
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
}

.navbar .dropdown-item { padding: .5rem .75rem; }
.navbar .dropdown-item.active,
.navbar .dropdown-item:active { background: #0d6efd; color:#fff; }

.navbar .cart-link { position: relative; display: inline-flex; align-items: center; gap: .35rem; }
.navbar .cart-link .badge {
  position: absolute;
  top: -6px; left: 14px;
  transform: translate(-50%, -50%);
}

/* compact spacing on smaller screens */
@media (max-width: 992px) {
  .navbar .navbar-nav .nav-link { padding: .45rem .6rem; }
  .navbar .dropdown-menu { min-width: 220px; }
}

/* Make right-side items wrap nicely on mobile */
@media (max-width: 576px) {
  .navbar .navbar-nav.ms-auto { gap: .25rem; }
}

/* ==== Navbar, spacing & delimiter ==== */
:root{
  --nav-text: #5a5f6a;
  --nav-text-hover: #111827;
  --nav-divider: rgba(0,0,0,.12);
}

.navbar.bg-white {
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

/* ukuran & warna link */
.navbar .nav-link{
  padding: .75rem 1rem;
  font-weight: 500;
  color: var(--nav-text);
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: var(--nav-text-hover);
}

/* tombol kecil biar konsisten dengan nav-link */
.navbar .btn.btn-sm{
  padding: .45rem .75rem;
  border-radius: .5rem;
  font-weight: 600;
}

/* garis pemisah antar item – aktif untuk ul.nav-delimited  */
.navbar .nav-delimited > .nav-item + .nav-item { position: relative; }
.navbar .nav-delimited > .nav-item + .nav-item::before{
  content:"";
  position:absolute;
  left:-.5rem;             /* jarak garis dari awal item */
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background: var(--nav-divider);
}

/* keranjang badge rapi */
.navbar .nav-cart .badge{
  transform: translate(-35%,-35%);
  font-size: .65rem;
  padding: .25rem .35rem;
}

/* biar tidak tumpah di mobile – menu bisa discroll horizontal */
@media (max-width: 991.98px){
  .navbar .navbar-collapse{ overflow-x:auto; }
  /* hilangkan garis pemisah di mobile */
  .navbar .nav-delimited > .nav-item + .nav-item::before{ display:none; }
  .navbar .nav-link{ padding: .6rem .75rem; }
}

.navbar .nav-link.active{ color:#0d6efd; font-weight:600; }

/* ===== Stacked table khusus halaman payment (mobile) ===== */
body.payment-page .stacked-table thead { display: table-header-group; } /* default desktop */

@media (max-width: 576px) {
  body.payment-page .stacked-table thead { display: none; }

  body.payment-page .stacked-table tbody tr{
    display: block;
    margin-bottom: .75rem;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    background: #fff;
    overflow: hidden;
  }

  body.payment-page .stacked-table tbody td{
    display: grid;
    grid-template-columns: 120px 1fr; /* label | value */
    gap: .5rem;
    padding: .6rem .75rem;
    border: 0 !important;
    border-top: 1px solid #f1f3f5 !important;
  }
  body.payment-page .stacked-table tbody td:first-child{
    border-top: 0 !important;
  }
  body.payment-page .stacked-table tbody td::before{
    content: attr(data-label);
    font-weight: 600;
    color: #6c757d;
  }

  /* util */
  body.payment-page .stacked-table .num { text-align: right; }
  body.payment-page .stacked-table .nowrap { white-space: nowrap; }
}

