/*
 * Ungu Babyshop - Perbaikan CSS Katalog Responsif
 * Versi: 1.3 (Dengan Perbaikan Header & Footer Final)
 * Tanggal: 19 Agustus 2025
 */

/* ==========================================================================
   PERBAIKAN DASAR & PENCEGAHAN ERROR LAYOUT
   ========================================================================== */

html, body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

* {
    box-sizing: border-box;
}

/* ==========================================================================
   HEADER BARU (PERBAIKAN TOTAL)
   ========================================================================== */
.header {
    padding: 10px 0;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}

.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Mengontrol ukuran area logo */
.header .site-branding {
    flex-shrink: 0; /* Mencegah logo menyusut */
    display: flex;
    align-items: center;
    text-decoration: none;
}

/* Membatasi ukuran gambar logo agar tidak terlalu besar */
.header .site-branding img {
    height: 50px; /* Batasi tinggi logo */
    width: auto;
    margin-right: 15px; /* Jarak antara logo dan teks (jika ada) */
}

/* Mengontrol area kotak pencarian */
.header .header-navigation {
    flex-grow: 1; /* Biarkan search bar mengisi sisa ruang */
    padding: 0 20px;
}

.header .header-navigation .input-group {
    max-width: 500px; /* Batasi lebar maksimal search bar */
    margin: 0 auto; /* Pusatkan search bar di ruang yang tersedia */
}

/* Sembunyikan toggler di desktop */
.mobi-toggler {
    display: none;
}

/* ==========================================================================
   LAYOUT PRODUK (TETAP SAMA)
   ========================================================================== */
.main .container {
    padding-top: 20px;
    padding-bottom: 20px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.product-list > div[class^="col-"] {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.product-item .pi-img-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
}

.product-item .product-item-content {
    margin-top: auto;
}

/* ==========================================================================
   FOOTER BARU (PERBAIKAN TOTAL)
   ========================================================================== */
.pre-footer {
    padding: 40px 0;
    background-color: #f7f7f7;
    border-top: 1px solid #e9e9e9;
}

/* Aturan untuk kolom di footer */
.pre-footer .pre-footer-col {
    width: 100%; /* Lebar penuh di mobile */
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
}


/* ==========================================================================
   PENGATURAN RESPONSIVE (MEDIA QUERIES)
   ========================================================================== */

/* Untuk layar HP (di bawah 768px) */
@media (max-width: 767px) {
    /* Header di mobile */
    .header .container {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .header .header-navigation {
        order: 3;
        width: 100%;
        padding: 15px 0 0 0;
    }
    .mobi-toggler {
        display: block; /* Tampilkan tombol menu mobile */
    }

    /* Produk di mobile (2 kolom) */
    .product-list .col-xs-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 10px;
        padding-right: 10px;
    }
    .main .row {
        margin-left: -10px;
        margin-right: -10px;
    }
}

/* Untuk layar tablet (768px ke atas) */
@media (min-width: 768px) {
    /* Produk di tablet (3 kolom) */
    .product-list .col-md-2 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }
    /* Footer di tablet (2 kolom) */
    .pre-footer .col-md-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Untuk layar desktop (992px ke atas) */
@media (min-width: 992px) {
    /* Produk di desktop (5 kolom) */
    .product-list .col-md-2 {
        flex: 0 0 20%;
        max-width: 20%;
    }
    /* Footer di desktop (4 kolom) */
    .pre-footer .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* Untuk layar desktop besar (1200px ke atas) */
@media (min-width: 1200px) {
    /* Produk di desktop besar (6 kolom) */
    .product-list .col-md-2 {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }
}

/* =================================================================== */
/* PERBAIKAN TATA LETAK IKON PEMBAYARAN DI FOOTER                */
/* =================================================================== */

/* Mengubah kontainer utama menjadi flexbox */
.payment-icons {
    display: flex;
    flex-wrap: wrap;      /* Izinkan ikon turun ke baris baru jika tidak muat */
    align-items: center;  /* Sejajarkan semua ikon secara vertikal di tengah */
    gap: 10px;            /* Beri jarak 10px antar ikon/grup ikon */
    margin-top: 10px;
}

/* Pastikan grup kartu debit juga menjadi flexbox agar logonya sejajar */
.payment-icons .debit-cards {
    display: flex;
    align-items: center;
    gap: 10px;            /* Beri jarak 10px antar logo bank */
}

/* Mengatur tinggi semua gambar agar seragam dan rapi */
.payment-icons img {
    height: 20px;         /* Atur tinggi ikon agar seragam */
    width: auto;          /* Lebar akan menyesuaikan otomatis */
    vertical-align: middle; /* Membantu perataan vertikal */
}

/* Menghapus style default pada span jika ada */
.payment-icons span {
    display: inline-flex;
    align-items: center;
}