/* Buttons */
.btn{
  display:inline-block;padding:12px 30px;border:1px solid var(--text-main);
  border-radius:var(--radius-pill);background:transparent;font-weight:500;
  text-transform:uppercase;font-size:.9rem;cursor:pointer;transition:all .25s ease;
}
.btn:hover{background:var(--primary-red);color:#fff;border-color:var(--primary-red)}
.btn-primary{background:var(--primary-red);color:#fff;border:none}
.btn-olive{background:var(--primary-olive);color:#fff;border:none}

/* Header */
header{
  position:fixed;top:0;left:0;right:0;background:rgba(247,247,242,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);
  z-index:1000;padding:18px 0;
}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--font-heading);font-weight:700;font-size:1.4rem;display:flex;align-items:center;gap:10px}
.logo .brand-red{color:var(--primary-red)}
.logo .brand-olive{color:var(--primary-olive)}
.logo-mark{
  height: 34px;     /* silakan 28–40px sesuai selera */
  width: auto;
  display: block;
}
.nav-links{display:flex;gap:36px;align-items:center}
.nav-links a{font-weight:500;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--primary-olive);transition:width .25s ease}
.nav-links a:hover::after{width:100%}

/* Footer */
footer{background:var(--text-main);color:#fff;padding:60px 0 20px;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:40px;margin-bottom:40px}
.footer-logo{font-family:var(--font-heading);font-size:1.5rem;color:var(--primary-red);margin-bottom:16px}
.copyright{text-align:center;border-top:1px solid #333;padding-top:16px;font-size:.8rem;color:#aaa}

@media (max-width:768px){.nav-links{display:none}}

.modal-media{
  position: relative;
}

.gallery-btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  z-index:2;
}

.gallery-btn.prev{ left:12px; }
.gallery-btn.next{ right:12px; }

.modal-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  overflow-x:auto;
  padding-bottom:4px;
}

.modal-thumbs img{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:10px;
  opacity:.7;
  cursor:pointer;
  border:1px solid rgba(0,0,0,.12);
  flex:0 0 auto;
}

.modal-thumbs img.active{
  opacity:1;
  outline:2px solid rgba(40,120,80,.55);
  border-color: transparent;
}

/* Pastikan gambar tidak memaksa lebar kolom */
#modalImg{
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* optional */
}

/* Jika modal layout pakai flex: izinkan kolom mengecil */
#productModal .modal-content,
#productModal .product-modal-content{
  display: flex;
}

#productModal .modal-content > *,
#productModal .product-modal-content > *{
  min-width: 0;
}

/* Umumnya kiri-kanan */
#productModal .modal-left{
  flex: 0 0 52%;
  min-width: 0;
}
#productModal .modal-right{
  flex: 1;
  min-width: 0;
}

.modal-media{ position: relative; width: 100%; }
