/* ================= RESET ================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
    background:#f1f3f6;
    color:#111;
}

/* ================= TOP BAR ================= */
.top-bar{
    background:#0f172a;
    color:#fff;
    text-align:center;
    font-size:12px;
    padding:6px 10px;
    line-height:1.4;
}

/* ================= HEADER ================= */
.site-header{
    background:#fff;
    border-bottom:1px solid #e5e7eb;
}

.header-inner{
    max-width:1200px;
    margin:auto;
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 16px;
    flex-wrap:wrap;
}

.logo{
    font-size:22px;
    font-weight:800;
    color:#2563eb;
    white-space:nowrap;
}

/* SEARCH */
.search-box{
    flex:1;
    min-width:200px;
}

.search-box input{
    width:100%;
    padding:10px 12px;
    border-radius:10px;
    border:1px solid #d1d5db;
    font-size:14px;
}

/* NAV */
.nav{
    display:flex;
    gap:12px;
}

.nav a{
    text-decoration:none;
    font-weight:600;
    color:#111;
    font-size:14px;
}

/* ================= HERO ================= */
.hero{
    background:linear-gradient(120deg,#2563eb,#1e40af);
    color:#fff;
    text-align:center;
    padding:45px 20px;
}

.hero h1{
    font-size:30px;
    font-weight:800;
}

.hero p{
    opacity:.9;
    margin-top:6px;
}

/* ================= CATEGORY ================= */
.category-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    padding:20px;
    background:#fff;
}

.cat-box{
    background:#f8fafc;
    padding:14px;
    border-radius:12px;
    text-align:center;
    font-weight:600;
    border:1px solid #e5e7eb;
}

/* ================= PRODUCTS ================= */
.products{
    padding:24px 16px;
}

.products h2{
    font-size:22px;
    margin-bottom:18px;
}

.category-block{
    margin-bottom:36px;
}

.category-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}

.category-title h3{
    font-size:17px;
}

.category-title a{
    font-size:14px;
    font-weight:600;
    color:#2563eb;
}

/* ================= GRID ================= */
.product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

/* ================= CARD ================= */
.product-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    max-height:320px;
}

/* ================= IMAGE ================= */
.img-wrap{
    width:100%;
    height:220px;   /* MOBILE FIXED HEIGHT */
    background:#f9fafb;
    overflow:hidden;
    position:relative;
}

.product-img{
    width:100%;
    height:100%;
    object-fit:contain;
}

/* ================= LINKS ================= */
a{
    text-decoration:none;
    color:inherit;
}


/* ================= RATING ================= */
.rating{
    position:absolute;
    bottom:8px;
    left:8px;
    background:#16a34a;
    color:#fff;
    padding:3px 7px;
    font-size:12px;
    border-radius:5px;
    font-weight:700;
}

/* ================= BODY ================= */
.card-body{
    padding:8px 10px;
    font-size:14px;
}

.p-name{
    font-size:13px;
    font-weight:700;
    line-height:1.35;
    margin-bottom:4px;
}

.product-link:hover .p-name{
    color:#2563eb;
}

.p-price{
    font-size:15px;
    font-weight:800;
}

/* ================= FEEDBACK ================= */
.feedback-section{
    max-width:900px;
    margin:40px auto;
    padding:20px;
    background:#fff;
    border-radius:14px;
}

#feedbackForm{
    display:grid;
    gap:10px;
    margin-bottom:18px;
}

#feedbackForm input,
#feedbackForm textarea{
    padding:11px;
    border:1px solid #ddd;
    border-radius:8px;
}

#feedbackForm button{
    background:#2563eb;
    color:#fff;
    border:none;
    padding:11px;
    border-radius:8px;
    font-weight:600;
}

/* SLIDER */
.feedback-slider{
    display:flex;
    gap:14px;
    overflow-x:auto;
}

.feedback-slider::-webkit-scrollbar{
    display:none;
}

.feedback-item{
    min-width:240px;
    background:#f8fafc;
    padding:12px;
    border-radius:10px;
    border:1px solid #eee;
    flex-shrink:0;
}

/* ================= VISITOR ================= */
.visitor-box{
    text-align:center;
    padding:12px;
    background:#111827;
    color:#fff;
    font-size:13px;
}

/* ================= FOOTER ================= */
.site-footer{
    background:linear-gradient(180deg,#0b1220,#0a0f1c);
    color:#cbd5e1;
    padding:45px 20px 22px;
}

.footer-inner{
    max-width:1100px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:34px;
}

.footer-brand h3{
    color:#fff;
    font-size:20px;
    margin-bottom:10px;
}

.footer-brand p{
    color:#94a3b8;
    line-height:1.6;
}

.site-footer h4{
    color:#fff;
    font-size:15px;
    margin-bottom:12px;
}

.site-footer a{
    display:block;
    color:#94a3b8;
    margin-bottom:9px;
}

.site-footer a:hover{
    color:#fff;
}

.footer-bottom{
    text-align:center;
    font-size:12px;
    color:#94a3b8;
    margin-top:28px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* ================= MOBILE ================= */
@media(max-width:600px){

    .header-inner{
        justify-content:center;
    }

    .logo{
        width:100%;
        text-align:center;
    }

    .search-box{
        width:100%;
    }

    .nav{
        width:100%;
        justify-content:center;
    }

    .hero h1{
        font-size:24px;
    }

    /* IMPORTANT FIX */
    .product-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .img-wrap{
        aspect-ratio:2/3;
    }

    .footer-inner{
        gap:26px;
    }

}
/* LCP + CLS FIX */
.product-card{
  min-height:420px;
}

.img-wrap{
  min-height:350px;
}
/* ================= APP SHARE ================= */

.app-share-box{
    display:flex;
    justify-content:center;
    gap:12px;
    margin:20px;
}

.app-btn,
.share-btn{
    padding:10px 16px;
    border:none;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    background:#2563eb;
    color:#fff;
}

.share-btn{
    background:#16a34a;
}

.share-box{
    display:none;
    justify-content:center;
    gap:12px;
    margin-bottom:20px;
}

.share-box button,
.share-box a{
    background:#fff;
    border:1px solid #ddd;
    padding:8px 12px;
    border-radius:8px;
    font-size:13px;
}
.img-wrap{
    height:180px;
    overflow:hidden;
    background:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
}
/* PRODUCT GRID */

.product-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  padding:10px;
}

/* CARD */

.product-card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
}

/* IMAGE BOX */

.product-img-box{
  width:100%;
  aspect-ratio:3/4;   /* Fix ratio */
  background:#f3f4f6;
  overflow:hidden;
}

.product-img-box img{
  width:100%;
  height:100%;
  object-fit:cover;   /* Crop + fit */
  display:block;
}

/* CARD BODY */

.product-body{
  padding:10px;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.product-title{
  font-size:14px;
  font-weight:600;
  line-height:1.3;
  height:36px;
  overflow:hidden;
}

.product-price{
  color:#16a34a;
  font-weight:700;
  margin-top:4px;
}

.buy-btn{
  margin-top:8px;
  text-align:center;
  background:#25D366;
  color:#fff;
  padding:7px;
  border-radius:8px;
  font-size:13px;
  text-decoration:none;
}
/* ================= FINAL OVERRIDE FIX ================= */
/* DO NOT REMOVE - CARD + IMAGE STABILITY */

.product-card{
    min-height:420px !important;
    max-height:none !important;
    display:flex !important;
    flex-direction:column !important;
}

.img-wrap{
    width:100% !important;
    aspect-ratio:3/4 !important;
    height:auto !important;
    min-height:240px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f8fafc !important;
    overflow:hidden !important;
}

.product-img{
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
}

.card-body{
    flex:1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
}

.p-name{
    min-height:36px !important;
    max-height:36px !important;
    overflow:hidden !important;
}

.wa-buy-btn{
    margin-top:auto !important;
}

.product-grid{
    align-items:stretch !important;
}
/* Fix extra space in product card */

.product-card,
.product-item,
.card {

    display: flex;
    flex-direction: column;
}

/* Price text */
.product-price,
.price {
    margin-bottom: 5px !important;
}

/* WhatsApp Button */
.buy-btn,
.buy-whatsapp,
.whatsapp-btn {

    margin-top: 5px !important;
    padding-top: 6px !important;
}

/* Remove unwanted height */
.product-card,
.card {
    min-height: auto !important;
    height: auto !important;
}

/* Content wrapper */
.product-info,
.card-body {
    padding-bottom: 8px !important;
}