#rmWrap{
width:100%;
max-width:700px;
margin:auto;
}
/* PRODUCT SPLASH */
@keyframes productSplash{

0%{
opacity:0;
transform:scale(.85) translateY(20px);
}

60%{
opacity:1;
transform:scale(1.05) translateY(-3px);
}

100%{
opacity:1;
transform:scale(1) translateY(0);
}

}
.liorProductCard.show{
animation:productSplash .12s cubic-bezier(.22,.61,.36,1);
}
.liorProductCard{
opacity:0;
}

.liorProductCard.show{
opacity:1;
animation:productSplash .6s ease forwards;
}

.rmCat{
background:#fff;
border-radius:16px;
margin-bottom:14px;
box-shadow:0 6px 18px rgba(0,0,0,.15);
overflow:hidden;
}

.rmHead{
position:relative;
cursor:pointer;
}

.rmCover{
width:100%;
height:180px;
object-fit:cover;
}

.rmTitle{
position:absolute;
bottom:10px;
left:16px;
color:#fff;
font-size:22px;
font-weight:600;
}

.rmBody{
max-height:0;
overflow:hidden;
transition:.4s;
}

.rmItem{
display:flex;
justify-content:space-between;
align-items:center;
padding:10px 16px;
border-bottom:1px solid #eee;
}

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

.rmLeft img{
width:60px;
height:60px;
border-radius:12px;
object-fit:cover;
}

.rmName{
font-weight:600;
}

.rmDesc{
font-size:13px;
color:#64748b;
}

.rmPrice{
background:#22c55e;
color:#fff;
padding:6px 12px;
border-radius:999px;
font-size:13px;
}
/* APP */
.liorApp{
width:100%;
max-width:900px;
margin:auto;
padding:10px 10px 120px;
font-family:Inter,sans-serif;
}

/* HERO FULL WIDTH */

.liorCategoryHero{
display:none;
position:relative;
height:220px;
width:100vw;
margin-left:50%;
transform:translateX(-50%);
overflow:hidden;
margin-bottom:10px;
margin-top:-20px;
}

.liorCategoryHero img{
width:100%;
height:100%;
object-fit:cover;
filter:blur(1.5px);
transform:scale(1.05);
}
.liorHeroOverlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0));
}

.liorHeroTitle{
position:absolute;
bottom:16px;
left:18px;
color:#fff;
font-size:26px;
font-weight:700;
font-family:'Playfair Display',serif;
}

/* CATEGORY */

.liorCategoryList{
    margin-top:20px;
display:grid;
gap:15px;
width:100%;
}
.liorCategoryCard{
position:relative;
height:130px;
border-radius:18px;
overflow:hidden;
cursor:pointer;
opacity:0;
box-shadow:0 8px 20px rgba(0,0,0,.15);
transition:.6s cubic-bezier(.22,.61,.36,1);
}

.liorCategoryCard.left{transform:translateX(-60px)}
.liorCategoryCard.right{transform:translateX(60px)}

.liorCategoryCard.show{
transform:translateX(0);
opacity:1;
}

.liorCategoryCard img{
width:100%;
height:100%;
object-fit:cover;
}

.liorCategoryCard:after{
content:'';
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,.2));
}

.liorCategoryTitle{
position:absolute;
bottom:14px;
left:18px;
font-size:18px;
font-weight:600;
color:#fff;
z-index:2;
font-family:'Playfair Display',serif;
}

/* PRODUCTS FULL WIDTH */

.liorProducts{
display:none;
width:100vw;
margin-left:50%;
transform:translateX(-50%);
background:transparent;
padding:20px 16px 120px;
min-height:100vh;
}

/* PRODUCT CARD */

.liorProductCard{
display:flex;
gap:14px;
background:#fff;
border-radius:16px;
padding:12px;
box-shadow:0 6px 18px rgba(0,0,0,.08);
margin-bottom:18px;
align-items:flex-start;
opacity:0;
transition:.6s cubic-bezier(.22,.61,.36,1);
}

.liorProductCard.left{transform:translateX(-60px)}
.liorProductCard.right{transform:translateX(60px)}

.liorProductCard.show{
transform:translateX(0);
opacity:1;
}

/* PRODUCT IMAGE */

.liorProductImage{
width:90px;
height:90px;
flex-shrink:0;
border-radius:12px;
overflow:hidden;
}

.liorProductImage img{
width:100%;
height:100%;
object-fit:cover;
}

/* PRODUCT CONTENT */

.liorProductContent{
flex:1;
}

/* TITLE + PRICE */

.liorProductTop{
display:flex;
justify-content:space-between;
align-items:center;
}

.liorProductTitle{
font-family:'Playfair Display',serif;
font-size:16px;
font-weight:600;
}

.liorProductIngredients{
font-size:13px;
color:#777;
margin-top:4px;
}

.liorProductPrice{
background:#d4af37;
color:#fff;
padding:3px 10px;
border-radius:999px;
font-size:12px;
font-weight:700;
white-space:nowrap;
}

/* BACK */

.liorBackFixed{
position:fixed;
bottom:25px;
left:15px;
margin-bottom:50px;
border-radius:999px;
padding:12px 18px;

padding:12px 22px;
border-radius:20px;
background:linear-gradient(135deg,#d4af37,#b9932f);
color:#fff;
font-weight:600;
cursor:pointer;
display:none;
z-index:999;

box-shadow:0 8px 20px rgba(0,0,0,.2);
}

