*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

body{
background:#e9e9e9;
color:#333;
font-size:12px;
}

a{
text-decoration:none;
color:#333;
}

img{
max-width:100%;
display:block;
}

.wrapper{
width:1000px;
margin:auto;
}

/* TOP MINI BAR */

.top-mini-bar{
background:#f3f3f3;
border-bottom:1px solid #d0d0d0;
}

.top-mini-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:4px 0;
gap:10px;
}

.top-links{
display:flex;
align-items:center;
flex-wrap:wrap;
}

.top-links a{
margin-right:10px;
font-size:11px;
line-height:1;
}

.top-search-mini form{
display:flex;
align-items:center;
gap:4px;
}

.top-search-mini input{
padding:3px 6px;
border:1px solid #bfbfbf;
height:22px;
font-size:11px;
width:140px;
background:#fff;
}

.top-search-mini button{
padding:0 7px;
background:#dcdcdc;
color:#222;
border:1px solid #bfbfbf;
height:22px;
font-size:11px;
cursor:pointer;
}

/* HEADER */

.header{
background:#fff;
border-bottom:1px solid #d5d5d5;
}

.header-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:10px 0;
gap:15px;
}

.logo-area img{
height:52px;
width:auto;
}

.text-logo{
font-size:20px;
font-weight:bold;
color:#1d4f91;
}

.header-right{
display:flex;
justify-content:flex-end;
align-items:center;
}

.account-cart-row{
display:flex;
align-items:center;
gap:6px;
}

.header-btn{
padding:6px 10px;
border-radius:2px;
font-size:11px;
border:1px solid #cfcfcf;
display:inline-block;
line-height:1.2;
}

.white-btn{
background:#f5f5f5;
color:#444;
}

.red-btn{
background:#b91c1c;
color:white;
border-color:#9f1717;
}

/* NAV */

.main-nav{
background:#2d5d9f;
border-top:1px solid #29538e;
border-bottom:1px solid #29538e;
}

.main-nav ul{
display:flex;
list-style:none;
flex-wrap:wrap;
}

.main-nav li{
border-right:1px solid rgba(255,255,255,0.18);
}

.main-nav a{
display:block;
padding:8px 14px;
color:white;
font-size:11px;
font-weight:bold;
line-height:1;
}

/* LAYOUT */

.page-body{
display:grid;
grid-template-columns:170px 1fr 170px;
gap:12px;
margin-top:12px;
align-items:start;
}

/* SIDEBAR */

.side-box{
background:#fff;
border:1px solid #cfcfcf;
margin-bottom:12px;
}

.side-title{
background:#2d5d9f;
color:white;
padding:6px 8px;
font-size:11px;
font-weight:bold;
text-align:center;
border-bottom:1px solid #234a81;
}

.side-category-list{
list-style:none;
}

.side-category-list li{
border-bottom:1px solid #ececec;
}

.side-category-list li:last-child{
border-bottom:none;
}

.side-category-list a{
display:block;
padding:6px 8px;
font-size:11px;
line-height:1.2;
}

/* MINI PRODUCT */

.mini-product{
padding:8px 6px;
text-align:center;
border-bottom:1px solid #ececec;
}

.mini-product:last-child{
border-bottom:none;
}

.mini-product a{
display:block;
}

.mini-product img{
width:82px;
height:112px;
object-fit:cover;
margin:0 auto 6px;
border:1px solid #d9d9d9;
background:#fff;
}

.mini-product-name{
font-size:10px;
line-height:1.3;
min-height:26px;
margin-top:2px;
}

.mini-product-price{
color:#b91c1c;
font-weight:bold;
font-size:11px;
margin-top:4px;
}

/* PRODUCT GRID */

.product-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
}

.product-card{
background:white;
border:1px solid #cfcfcf;
padding:8px 6px 10px;
text-align:center;
position:relative;
min-height:255px;
}

.product-image{
display:block;
}

.product-image img{
width:105px;
height:148px;
object-fit:cover;
margin:0 auto 6px;
border:1px solid #d9d9d9;
background:#fff;
}

.product-name{
font-size:10px;
line-height:1.25;
margin-top:4px;
min-height:28px;
display:flex;
align-items:center;
justify-content:center;
}

.product-name a{
font-size:10px;
line-height:1.25;
}

.product-author{
font-size:9px;
color:#777;
min-height:18px;
line-height:1.25;
margin-top:2px;
}

.product-price{
color:#b91c1c;
font-weight:bold;
margin:4px 0 6px;
font-size:11px;
}

.product-btn{
background:#2d5d9f;
color:white;
padding:5px 8px;
display:inline-block;
font-size:10px;
font-weight:bold;
border:1px solid #234a81;
line-height:1;
}

.product-badge{
position:absolute;
top:4px;
left:4px;
background:#f0f0f0;
border:1px solid #cfcfcf;
font-size:8px;
padding:1px 3px;
line-height:1;
text-transform:uppercase;
}

.fav-icon{
position:absolute;
top:4px;
right:5px;
font-size:13px;
line-height:1;
color:#777;
}

/* NUMBER LIST */

.number-list{
list-style:none;
padding:8px;
}

.number-list li{
margin-bottom:7px;
font-size:10px;
line-height:1.35;
display:flex;
align-items:flex-start;
}

.number-list span{
background:#2d5d9f;
color:white;
padding:2px 5px;
margin-right:6px;
font-size:10px;
line-height:1;
min-width:16px;
text-align:center;
}

/* SERVICE BAND */

.service-band{
background:#2b0707;
color:white;
margin-top:20px;
border-top:1px solid #1b0000;
}

.service-row{
display:flex;
justify-content:space-between;
padding:14px 0;
gap:20px;
}

.service-item{
width:33.33%;
font-size:11px;
line-height:1.4;
}

.service-item strong{
display:block;
font-size:11px;
margin-bottom:3px;
}

/* FOOTER */

.footer{
background:#efefef;
}

.footer-top{
display:flex;
justify-content:space-between;
padding:18px 0;
gap:20px;
}

.footer-col{
width:23%;
}

.footer-col h4{
margin-bottom:8px;
font-size:11px;
font-weight:bold;
}

.footer-col ul{
list-style:none;
}

.footer-col li{
margin-bottom:5px;
font-size:10px;
line-height:1.3;
}

.footer-col a{
font-size:10px;
}

.payment-box span{
display:inline-block;
background:white;
padding:4px 5px;
margin-right:4px;
margin-bottom:4px;
border:1px solid #ccc;
font-size:10px;
}

.footer-bottom{
background:#ddd;
text-align:center;
padding:8px;
font-size:10px;
}

/* RESPONSIVE */

@media(max-width:1024px){
.wrapper{
width:95%;
}

.page-body{
grid-template-columns:1fr;
}

.product-grid{
grid-template-columns:repeat(3,1fr);
}
}

@media(max-width:768px){
.top-mini-inner,
.header-inner,
.service-row,
.footer-top{
flex-direction:column;
align-items:flex-start;
}

.account-cart-row{
flex-wrap:wrap;
}

.main-nav ul{
flex-direction:column;
width:100%;
}

.main-nav li{
width:100%;
border-right:none;
border-bottom:1px solid rgba(255,255,255,0.18);
}

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

.footer-col{
width:100%;
}
}

@media(max-width:480px){
.product-grid{
grid-template-columns:1fr;
}
}