/* =====================================
Selvi Crackers V2 - Product Page CSS
===================================== */

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

body{
font-family:Arial, Helvetica, sans-serif;
background:#f5f5f5;
color:#333;
}

/* Header */
.header{
background:#b71c1c;
color:#fff;
display:flex;
justify-content:space-between;
align-items:center;
padding:14px 18px;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.logo{
display:flex;
align-items:center;
gap:10px;
}

.logo img{
width:48px;
height:48px;
border-radius:50%;
object-fit:cover;
}

.logo-text h2{
font-size:20px;
}

.logo-text p{
font-size:12px;
opacity:.9;
}

/* Cart */
.cart-box{
position:relative;
font-size:26px;
cursor:pointer;
}

#cartCount{
position:absolute;
top:-8px;
right:-10px;
width:22px;
height:22px;
border-radius:50%;
background:#fff;
color:#b71c1c;
font-size:12px;
font-weight:bold;
display:flex;
justify-content:center;
align-items:center;
}

/* Search */
.search-section{
padding:15px;
}

.search-box{
position:relative;
}

.search-box i{
position:absolute;
left:15px;
top:50%;
transform:translateY(-50%);
color:#777;
}

#searchInput{
width:100%;
padding:12px 15px 12px 42px;
border:1px solid #ddd;
border-radius:12px;
font-size:16px;
outline:none;
}

#searchInput:focus{
border-color:#b71c1c;
}

/* Categories */
.category-section{
padding:0 12px 10px;
}

.category-bar{
display:flex;
gap:10px;
overflow-x:auto;
scrollbar-width:none;
}

.category-bar::-webkit-scrollbar{
display:none;
}

.category-bar button{
border:none;
background:#b71c1c;
color:#fff;
padding:10px 18px;
border-radius:25px;
white-space:nowrap;
cursor:pointer;
font-weight:600;
transition:.3s;
}

.category-bar button.active{
background:#000;
}

.category-bar button:hover{
background:#8e0000;
}

/* Products */
.product-container{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:16px;
padding:12px;
}

.product-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,.08);
transition:.3s;
}

.product-card:hover{
transform:translateY(-4px);
}

/* Image */
.image-box{
position:relative;
background:#fff;
}

.image-box img{
width:100%;
height:170px;
object-fit:contain;
padding:10px;
}

/* Offer Badge */
.offer-badge{
position:absolute;
top:10px;
left:10px;
background:#ff3b30;
color:#fff;
padding:6px 10px;
border-radius:8px;
font-size:12px;
font-weight:bold;
}

/* YouTube Button */
.youtube-btn{
position:absolute;
top:10px;
right:10px;
width:38px;
height:38px;
border-radius:50%;
background:#ff0000;
color:#fff;
display:flex;
justify-content:center;
align-items:center;
text-decoration:none;
font-size:18px;
}

/* Details */
.product-details{
padding:12px;
}

.product-name{
font-size:17px;
font-weight:600;
text-align:center;
margin-bottom:8px;
min-height:42px;
}

.price{
display:block;
text-align:center;
color:#c62828;
font-size:28px;
font-weight:700;
}

.old-price{
display:block;
text-align:center;
color:#888;
font-size:15px;
text-decoration:line-through;
margin-top:4px;
}

/* Quantity */
.qty-box{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:16px;
}

.qty-btn{
width:42px;
height:42px;
border:none;
border-radius:50%;
background:#b71c1c;
color:#fff;
font-size:22px;
cursor:pointer;
transition:.3s;
}

.qty-btn:hover{
background:#8e0000;
}

.qty-btn:disabled{
background:#d9d9d9;
color:#888;
cursor:not-allowed;
}

.qty-count{
font-size:20px;
font-weight:bold;
}

/* Loading */
.loading{
text-align:center;
padding:40px 20px;
color:#666;
}

.loading i{
font-size:28px;
color:#b71c1c;
margin-bottom:10px;
}

/* Empty State */
.empty-state{
text-align:center;
padding:50px 20px;
color:#777;
}

.empty-state i{
font-size:48px;
color:#b71c1c;
margin-bottom:15px;
}

/* Responsive */
@media (max-width:768px){

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

.image-box img{
height:150px;
}

.product-name{
font-size:15px;
}

.price{
font-size:24px;
}

.qty-btn{
width:38px;
height:38px;
}

}

@media (max-width:420px){

.product-container{
gap:12px;
padding:10px;
}

.image-box img{
height:140px;
}

}