/* ================================
FONT - 角ゴシック
================================ */

.popular-items{
font-family:
"Noto Sans JP",
"Hiragino Kaku Gothic ProN",
"Yu Gothic",
"Meiryo",
sans-serif;
}


/* ================================
SECTION BASE
================================ */

.popular-items{
background:#e0c49e;
padding-top:0px;
padding-bottom:24px;
padding-left:20px;
padding-right:20px;
}
.popular-items .rank{
position:absolute;
top:10px;
left:10px;
padding:6px 10px;
font-size:13px;
font-weight:700;
border-radius:4px;
color:#fff;
width:auto;
height:auto;
display:inline-block;
}

/* =================
RANK COLORS
================= */

.popular-items .rank-1{
background:#d4af37;
color:#000;
}

.popular-items .rank-2{
background:#c0c0c0;
color:#000;
}

.popular-items .rank-3{
background:#cd7f32;
color:#fff;
}
.container{
max-width:1200px;
margin:auto;
}


/* ================================
TITLE
================================ */

.section-title{

font-size:32px;
font-weight:700;
text-align:left;
margin-bottom:24px;
position:relative;
padding-bottom:12px;
color:#000000!important;

}

.section-title::after{

content:"";
display:block;
width:120px;
height:4px;
background:#d61619;
margin-top:10px;
border-radius:2px;

}
/* ================================
TABS
================================ */

.tabs{
display:grid;
grid-template-columns:repeat(2,2fr)!important;
max-width:1200px;
margin:0 auto 16px auto;
border:2px solid #b81216;
background:#f6e6cc;
}

.tab{

font-size:18px;
font-weight:700;
padding:16px 10px;
background:#ffffff;
border:none;
cursor:pointer;
text-align:center;
border-right:2px solid #b81216;
transition:all .25s ease;
}
.tab:last-child{
border-right:none;
}
.tab:hover{
background:#fff3e1;
}


/* ================================
ACTIVE TAB
================================ */

.tab.active{
background:#d61619;
color:#ffffff;
position:relative;
box-shadow:
0 0 0 2px #d61619,
0 4px 10px rgba(0,0,0,0.15),
0 0 12px rgba(214,22,25,0.45);
transform:translateY(-2px);
z-index:2;
}

.tab.active::before{
content:"◎ ";
font-weight:700;
}


/* ================================
TAB CONTENT VISIBILITY
================================ */

.tab-content{
display:none;
}

.tab-content.active{
display:block;
}


/* ================================
PRODUCT GRID
================================ */

.product-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;

}
/* ================================
PRODUCT CARD
================================ */

.product-card{
position:relative;
margin-top: 15px;
background:#ffffff;
padding:5px 5px 6px 5px;
border-radius:8px;
text-align:center;
box-shadow:0 2px 6px rgba(0,0,0,0.08);
transition:all .25s ease;
}

.product-card:hover{
transform:translateY(-4px);
box-shadow:0 6px 16px rgba(0,0,0,0.15);
}
/* ================================
SIZE LABEL
================================ */

.size{
font-weight:700;
font-size:14px;
margin-bottom:6px;
color:#333;
}
/* ================================
PRODUCT IMAGE
================================ */

.product-card img{
width:90%;
height:auto;
display:block;
margin:0px auto;
transition:0.3s;
}

.product-card img:hover{
transform:scale(1.05);

}


/* ================================
PRODUCT TITLE
================================ */

.product-title{
font-weight:700;
margin-top:8px;
margin-bottom:6px;
font-size:16px;
line-height:1.4;
color: #000000 !important;
}


/* ================================
BADGES
================================ */

.product-badges{
margin-bottom:6px;
}
.product-badges span{
border:1px solid #d61619;
color:#d61619;
padding:2px 8px;
font-size:12px;
margin-right:4px;
border-radius:4px;
}
/* BADGE COLORS */

.badge-sample{
border:1px solid #2e8b57;
color:#2e8b57;
}

.badge-microwave{
border:1px solid #e67e22;
color:#e67e22;
}

.badge-option{
border:1px solid #666;
color:#666;
}

/* product title link */

.product-title a{
color:inherit;
text-decoration:none;
}

.product-title a:hover{
text-decoration:underline;
}
.product-title-link{
text-decoration:none;
color:inherit;
display:block;
}

.product-title-link:hover{
text-decoration:underline;
}
/* ================================
PRODUCT DESCRIPTION
================================ */

.product-desc{
font-size:14px;
line-height:1.6;
margin-top:6px;
color:#444;
}


/* ================================
CTA BUTTON
================================ */
.section-cta{
text-align:center;
margin-top:24px;
}

.section-cta .cta-button{
display:inline-block;
background:#d61619;
color:#ffffff !important;
padding:12px 28px;
border-radius:30px;
text-decoration:none;
font-weight:700;
border:2px solid #d61619;
transition:all .2s ease;

}
.section-cta .cta-button:hover{
background:#b81216;
color:#000000 !important;
transform:translateY(-1px);

}


.cta-button{
background:#d61619;
color:white;
padding:12px 28px;
border-radius:30px;
text-decoration:none;
font-weight:bold;
display:inline-block;
transition:all .2s ease;
}

.cta-button:hover{
opacity:0.9;
transform:translateY(-1px);

}


/* ================================
RESPONSIVE
================================ */

@media(max-width:900px){

.product-grid{

grid-template-columns:repeat(3,1fr)!important;

}

.tabs{

grid-template-columns:repeat(2,2fr)!important;
}


@media(max-width:600px){

.product-grid{

grid-template-columns:1fr!important;

}

.section-title{

font-size:26px;

}

.tab{

font-size:16px;
padding:14px 8px;

}

}