:root{
  --rd-nav-h: clamp(60px, 10vw, 66px);
}

html.rd-biz-loading body{ overflow: hidden; }

html.rd-biz-loading #bizPage{ display: none; }

/* Hide footer while loading (covers most footer structures) */
html.rd-biz-loading footer,
html.rd-biz-loading .footer,
html.rd-biz-loading #footer,
html.rd-biz-loading #siteFooter,
html.rd-biz-loading .siteFooter{
  display: none !important;
}

/* Skeleton overlay: below header, not covering it */
.rdBizSkeleton{
  position: fixed;
  left: 0; right: 0;
  top: var(--rd-nav-h);
  bottom: 0;
  z-index: 90;          /* header is above (usually 100) */
  background: #fff;
  padding: 0 0px;
  display: none;
}
html.rd-biz-loading .rdBizSkeleton{ display:block; }

.rdBizSkeletonInner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 5px clamp(14px, 3vw, 18px) 0;
}

@keyframes rdBizShimmer{
  0%{ background-position: -600px 0; }
  100%{ background-position: 600px 0; }
}

.rdSkel{
  background: linear-gradient(90deg,
    rgba(0,0,0,0.06) 0%,
    rgba(0,0,0,0.10) 25%,
    rgba(0,0,0,0.06) 50%,
    rgba(0,0,0,0.06) 100%
  );
  background-size: 1200px 100%;
  animation: rdBizShimmer 1.1s linear infinite;
}

.rdSkelHero{
  width: 100%;
  aspect-ratio: 16 / 4;
  border-radius: 14px;
   min-height:180px; 
}

/* Category pill skeletons (between hero and products) */
.rdSkelCats{
  display: flex;
  gap: 10px;
  margin-top: 14px;
  overflow: hidden;             /* clean edge like the real catbar */
}

/* pill look */
.rdSkelCat{
  height: 34px;
  border-radius: 10px;
  flex: 0 0 auto;
}

/* vary widths so it feels real */
.rdSkelCat--w1{ width: clamp(92px, 12vw, 120px); }
.rdSkelCat--w2{ width: clamp(74px, 10vw, 105px); }
.rdSkelCat--w3{ width: clamp(88px, 11vw, 118px); }
.rdSkelCat--w4{ width: clamp(64px,  9vw,  96px); }


.rdSkelRow{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.5vw, 14px);
  margin-top: 22px;
}

.rdSkelThumb{
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
}
/* Make skeleton thumbnails responsive like real menu grid (5 → 4 → 3 → 2) */
.rdSkelRow{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.5vw, 14px);
  margin-top: 22px;
}

/* match your real breakpoints */
@media (max-width: 950px){
  .rdSkelRow{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 750px){
  .rdSkelRow{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 570px){
   .rdSkelRow{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
   .rdSkelCat--w4{ display:none; } /* 3 pills on mobile */
   .rdSkelCats{ padding: 0 0px; } /* match your mobile padding feel */
}



*{ 
    box-sizing:border-box 
}

body { 
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
    color: #111;
    background: #fff; 
}

a { 
    color:inherit 
}

.toolbar { 
    position:sticky; 
    top:0; 
    z-index:20; 
    background:#fff; 
    border-bottom:1px solid #e5e7eb;
}

.toolbar .inner { 
    height:52px; 
    display:flex; 
    align-items:center; 
    gap:10px 
}

.btn { 
    padding:14px 22px; 
    border:0; 
    border-radius:12px; 
    cursor:pointer; 
    background:#000; 
    color:#fff; 
    text-decoration:none; 
}

.btn.ghost { 
    background:#f3f4f6; 
    color:#111 
}

.hero { 
   position:relative; 
   margin: 5px auto 0 auto; 
   width: 100%; 
   max-width:1200px; 
   min-height:220px; 
   overflow:hidden; 
   border-radius: 14px; 
   display:flex; 
   justify-content:center; 
   padding: 0 clamp(14px, 3vw, 18px);
   transition:
      opacity .18s ease,
      max-height .22s ease,
      margin .22s ease,
      padding .22s ease;  
}
.hero.hero--searchHidden{
   opacity: 0;
   max-height: 0;
   min-height: 0;
   margin-top: 0;
   padding-top: 0;
   padding-bottom: 0;
   overflow: hidden;
   pointer-events: none;
}

.heroImgWrap { 
    position:relative; 
    width:100%; 
    max-width:1200px; 
    max-height:520px; 
    aspect-ratio:16/4; 
    overflow:hidden; 
    border-radius:14px;  
}

/* bottom-only gradient applied to the image wrapper */
.heroImgWrap::after { 
    content:""; 
    position:absolute; 
    left:0; 
    right:0; 
    bottom:0; 
    height:100%; 
    background:linear-gradient(180deg, rgba(0,0,0,0.30) 0%,  rgba(0,0,0,0.60) 100%); 
    pointer-events:none; 
}

.hero img { 
    width:100%; 
    height:100%; 
    object-fit:cover; 
    display:block; 
}

.heroBackBtn {
    position:absolute;
    top:8px;
    left:30px;
    height: 48px;
    width: 48px;
    display:flex;
    align-items:center;
    justify-content: center;
    gap:6px;
    padding:8px 14px;
    border-radius:999px;
    border:0;
    background: rgba(0, 0, 0, 0.65); /* black @ 60% opacity */
    cursor:pointer;
}

.heroTopRightBtns {
    position: absolute;
    top: 8px;          /* adjust to match close button */
    right: 30px;
    display: flex;
    gap: 10px;
    z-index: 3;         /* above image */
}

.heroTopBtn {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 0;
    background: rgba(0, 0, 0, 0.65); /* black @ 60% opacity */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}


/* .heroBackBtn img {
    filter: brightness(0) invert(1);
} */

.heroBackText{
    line-height:1;
    font-size: 15px;
}

.titlebar { 
    display:none; 
}

.titlebar .h1 { 
    font-size:30px; 
    font-weight:700; 
}

.titlebar .meta{ 
    display:flex; 
    gap:10px; 
    color:#6b7280; 
    flex-wrap:wrap 
}

.panel { 
    background:#fff; 
    margin-top: 0px; 
    border-radius:0; 
}

.panel .hd { 
    padding:12px 14px; 
    border-bottom:1px solid #e5e7eb; 
    font-weight:600 
}

/* Pills (sticky) */
.catbar { 
    position:sticky; 
    top:clamp(60px, 10vw, 66px);
    border:1px solid #fff; 
    border-bottom:1px solid #eee; 
    z-index:5; 
    background:#fff; 
    padding:15px 0px 0px; 
    display:flex;
    flex-wrap:nowrap;
    gap:4px;
    margin:0 18px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.catpill { 
    border:0; 
    color: #999; 
    background:#fff; 
    font-weight: 500;  
    padding:11px 14px; 
    font-size:16px; 
    cursor:pointer;
    white-space:nowrap; 
    margin: 0 0px 10px;  
}

.catpill.active { 
    background:#fff; 
    color: #000; 
    border:0;
    background: #e5e7e9;
    border-radius: 10px;
}

/* Sectioned menu (per-category) */
.menusec { 
    padding:0px 18px 26px; 
    scroll-margin-top: var(--stickyPad, 120px); 
}

.menusec h3 { 
    margin:20px 8px 12px; 
    font-size:25px; 
    font-weight:700;
}

.bizSearchResultsTitle{
   font-size: 21px !important;
   margin: 16px 8px 16px !important;
   line-height: 1.2;
}

.menusec .list { 
    display:grid; 
    grid-template-columns:repeat(5,minmax(0,1fr)); 
    row-gap: 34px;
  	column-gap: clamp(12px, 2vw, 14px);
}

.meal {
    position: relative; 
    display:flex; 
    flex-direction:column; 
    gap:0px; 
    padding:0; 
    cursor: pointer;
    container-type: inline-size;
}

.mealImgBox { 
    position:relative; 
    display:flex; 
    flex-direction:column; 
    gap:10px; 
    padding:0; 
    border-radius:22px; 
    background:#f1f2f3; 
    overflow:hidden; 
    container-type: inline-size;
}

/* Visual + icon inside image corner */
/* Add button + quantity bar inside image */
.addBtn { 
    position:absolute; 
    right:6px; 
    bottom:6px; 
    width:42px; 
    height:42px; 
    border-radius:999px; 
    border:0; 
    background:#fff; 
    font-size: 24px; 
    box-shadow:0 8px 20px rgba(0,0,0,.05); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    cursor:pointer; 
    z-index:2; 
}

.addBtn img { 
    width:20px; 
    height:20px; 
    display:block; 
    background: white;
}

.qtyBar { 
    position:absolute; 
    left:6px; 
    right:6px; 
    bottom:6px; 
    height:42px; 
    background:#fff; 
    border-radius:26px; 
    box-shadow:0 8px 20px rgba(0,0,0,.05); 
    display:none; 
    align-items:center; 
    justify-content:space-between; 
    padding:0 0px; 
    z-index:2; 
}

.meal.is-paused .addBtn,
.meal.is-paused .qtyBar{
  display: none !important;
}



.qbtn { 
    width:42px; 
    height:42px; 
    font-weight: 400; 
    border-radius:999px; 
    border:0; 
    background:#fff; 
    display:flex; 
    align-items:center; 
    justify-content:center; font-size:24px; 
    line-height:1; 
    cursor:pointer; 
}

.qbtn.is-disabled{
  opacity: .35;
  pointer-events: none;
  cursor: default;
}

.qtyNum { 
    font-weight:500; 
    min-width:28px; 
    text-align:center; 
}


/* Make qty controls scale with the product block (NOT viewport) */
@supports (height: 1cqi) {
  /* .mealImgBox is already a container (container-type: inline-size) */
  .mealImgBox{
    /* 1cqi = 1% of THIS card's inline size */
    --qtyH: clamp(36px, 20cqi, 48px);
    --qtyInset: clamp(6px, 2.2cqi, 6px);
  }

  .mealImgBox .qtyBar{
    left: var(--qtyInset);
    right: var(--qtyInset);
    bottom: var(--qtyInset);
    height: var(--qtyH);
    border-radius: calc(var(--qtyH) / 2);
  }

  .mealImgBox .qbtn,
  .mealImgBox .addBtn{
    width: var(--qtyH);
    height: var(--qtyH);
  }

  .mealImgBox .qbtn{
    font-size: clamp(18px, 10cqi, 24px);
  }

  .mealImgBox .addBtn{
    font-size: clamp(20px, 11cqi, 26px);
  }

  .mealImgBox .addBtn img{
    width: clamp(16px, 8cqi, 20px);
    height: clamp(16px, 8cqi, 20px);
  }

  .mealImgBox .qtyNum{
    min-width: clamp(24px, 10cqi, 34px);
    font-size: clamp(14px, 7cqi, 16px);
  }
}



.meal img { 
    width:100%; 
    aspect-ratio:1.1/1; 
    height:auto; 
    object-fit:cover; 
    border-radius:18px; 
    display:block; 
    mix-blend-mode:multiply; 
}

.meal .name { 
    font-weight:600; 
    margin-top: 10px; 
    margin-bottom:0px; 
    padding: 0 5px; 
    font-size: 16px; 
    color: #000; 
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis;
    display: block;
}

.meal .desc { 
    color:var(#6b7280); 
    font-size:14px; 
}



/* container for bottom combined badge */
.mealBadges {
	position: absolute;
	left: 8px;
	top: 8px;
	display: inline-flex;
	border-radius: 999px;
	overflow: hidden;          /* makes both segments share outer rounded corners */
}

/* individual segments */
.mealBadges__seg {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	height: 24px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1;
	color: #fff;
	white-space: nowrap;
}

/* left: discount */
.mealBadges__seg--discount {
	background: #ed5210;       /* orange */
}

/* right: +N day(s) */
.mealBadges__seg--advance {
	background: #049f33;       /* green */
}


.mealDiscBadge {
	position: absolute;
	left: 8px;
	top: 8px;      /* bottom-left corner */
    height: 24px;
	padding: 0px 8px;
	border-radius: 999px;
	background: #ed5210;   /* orange */
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;   /* vertical */
    justify-content: center; /* horizontal */
    text-align: center;
	line-height: 1;           /* important: remove extra vertical space */
}


/* green "+N day(s)" preorder badge – top-right corner */
.mealPreBadge {
    position: absolute;
    right: 8px;
    top: 8px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: #05a234;        /* green */
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1;
}

/* price row under the name */
.meal .price {
	margin-top: 0px;
    font-weight:400; 
    font-size: 14px; 
    padding: 0 5px; 
    color: #333;
}


.meal .price--discount {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.meal .priceNew {
	color: #ed5210;   /* orange – like app */
	font-weight: 600;
}

.meal .priceOld {
	color: #888;
	text-decoration: line-through;
	font-size: 12px;
}

.box { 
   padding:12px 14px 
}

.muted { 
   color:#6b7280 
}

.rating { 
   display:inline-flex; 
   align-items:center; 
   gap:6px 
}

/* Debug panel */
details.debug { 
   margin:16px 0; 
   border:1px solid #e5e7eb; 
   border-radius:12px; 
   padding:8px 
}

details.debug pre { 
   white-space:pre-wrap; 
   word-break:break-word; 
   font-size:12px; 
   color:#374151; 
   background:#f9fafb; 
   padding:10px; 
   border-radius:8px; 
   max-height:300px; 
   overflow:auto 
}

.heroInfo { 
   margin-top:10px; 
   margin-bottom:6px; 
}

.heroInfo { 
   margin-top:10px; 
   margin-bottom:6px; 
}

.heroTitle { 
    font-size:clamp(30px, 4vw, 40px); 
    font-weight:700; 
}

.chips {
   display:flex; 
   gap:8px; 
   flex-wrap:wrap; 
}

.chip { 
   display:inline-flex; 
   align-items:center; 
   gap:5px; 
   padding:11px 9px; 
   border-radius:10px; 
   background:#fff; 
   color:#000; 
   font-weight:400; 
   box-shadow:0 6px 16px rgba(0,0,0,.10); 
   border:1px solid #f1f2f4; 
   cursor: pointer; 
   font-size: 15px;
}

.chip img {
   margin-bottom: 2px;
   width: 17px;
   height: 17px;
}

/* Overlay variant: position on image, white title, chips below */
.heroInfo.onHero { 
   position:absolute; 
   left:0; 
   right:0; 
   bottom:10px; 
   color:#fff; 
   padding: 0 38px;
 }

.heroTitle.onHeroTitle { 
   color:#fff; 
   text-shadow:0 1px 2px rgba(0,0,0,1); 
   margin-bottom:13px; 
   line-height: 1.25;
}

.onHeroChips .chip { 
   background:#f1f3f5; 
   color:#000; border:0; 
}



@media(max-width:900px) { 
   .sheet1 { 
      align-items:stretch; 
      justify-content:stretch 
   } 

   .sheetPanel{ 
      margin:0; 
      border-radius:0 
   } 
}

@media(max-width:950px) { 
   .menusec .list{ 
      grid-template-columns:repeat(4,minmax(0,1fr)); 
   } 
}

@media(max-width:750px) { 
   .menusec .list{ 
      grid-template-columns:repeat(3,minmax(0,1fr)); 
   } 
}

@media(max-width:570px) { 
    .menusec .list { 
        grid-template-columns:repeat(2,minmax(0,1fr)); 
    } 

    .hero { 
        margin: 0px auto 0 auto; 
        border-radius: 0px; 
        padding: 0 0;  
    }

    .heroImgWrap { 
        border-radius:0px;  
    }
    .catbar { 
        margin:0 0px;
        padding:15px 16px 0px; 
    }
    .heroInfo.onHero { 
        padding: 0 16px; 
    }

    .heroBackBtn {
        left:10px;
    }

    .heroTopRightBtns {
        right: 10px;
    }

    .menusec { 
        padding:0px 16px 26px; 
    }

}


/* =======================
   Business Info (3-dots)
   ======================= */

.bizInfoOverlay {
	position: fixed;
	inset: 0;
	z-index: 1300;
	display: flex;
	align-items: center;        /* centered by default (desktop) */
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.22s ease-out;
}

.bizInfoOverlay[hidden] {
	display: none;
}

.bizInfoOverlay.bizInfoOverlay--show {
	opacity: 1;
	pointer-events: auto;
}

.bizInfoSheet {
	width: min(500px, 94vw);
	max-height: 80vh;
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.25);
	overflow: hidden;
	transform: translateY(24px);
	opacity: 0;
	transition: transform 0.22s ease-out, opacity 0.22s ease-out;
}

/* When overlay is visible, animate sheet in */
.bizInfoOverlay.bizInfoOverlay--show .bizInfoSheet {
	transform: translateY(0);
	opacity: 1;
}

/* Small “handle” on top like on Android bottom sheets */
.bizInfoHandle {
	width: 40px;
	height: 4px;
	border-radius: 999px;
	background: #d1d5db;
	margin: 8px auto 2px;
}

/* Content */
.bizInfoBody {
	padding: 0px 0 10px;
	font-size: 14px;
	color: #111827;
}

/* Generic row */
.bizInfoRow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 20px;
	border-top: 1px solid #f3f4f6;
}

.bizInfoRow:first-of-type {
	border-top: 0;
}

.bizInfoRow--address {
	align-items: center;
}

.bizInfoRowLeft {
	flex: 1 1 auto;
	min-width: 0;
}

.bizInfoRowTitle {
	font-size: 15px;
	font-weight: 600;
	color: #000;
}

.bizInfoRowSub {
	margin-top: 0px;
	font-size: 14px;
	color: #000;
	white-space: pre-line; /* support building + \n + address */
}

/* Copy address button (square icon on the right) */
.bizInfoCopyBtn {
	flex: 0 0 auto;
	border: 0;
	background: #fff;
	border-radius: 10px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 16px;
}

/* Hours row – clickable */
.bizInfoRow--hours {
	cursor: pointer;
}

.bizInfoRowRight {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #6b7280;
    margin-right: 5px;
}

.bizInfoArrow {
	font-size: 16px;
	line-height: 1;
	transition: transform 0.18s ease;
}

.bizInfoArrow.is-open {
	transform: rotate(180deg);
}

/* Hours list (shown when expanded) */
.bizInfoHoursList {
	padding: 4px 25px 10px 52px;
	border-top: 1px solid #f3f4f6;
	font-size: 13px;
	color: #111827;
	max-height: 260px;
	overflow-y: auto;
}

.bizInfoHoursList[hidden] {
	display: none;
}

.bizInfoHoursRow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 3px 0;
}

.bizInfoHoursRowDay {
	color: #666;
}

.bizInfoHoursRowTime {
	color: #666;
}

/* Delivery row – truck icon + text */
.bizInfoDeliveryIcon {
	margin-right: 8px;
	font-size: 16px; /* simple emoji truck for now */
}

.bizInfoRow--delivery .bizInfoRowTitle {
	font-weight: 500;
}

/* Close button (X) in top-right of sheet */
.bizInfoCloseBtn {
   height: 40px;
   width: 40px;
	border: 0;
	background: #f1f3f5;
   border-radius: 10px;
	border: 0;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
   align-items: center;
   justify-content: center;
   display: flex;
	transition: background-color 0.2s ease, transform 0.25s ease;
}

/* .bizInfoCloseBtn:hover{
    background-color: #e1e3e5;
} */

/* ===== Mobile: behave like bottom sheet ===== */
@media (max-width: 570px) {
	.bizInfoOverlay {
		align-items: flex-end;   /* stick to bottom */
	}

	.bizInfoSheet {
		width: 100%;
		max-height: 80vh;
		border-radius: 24px 24px 0 0;
		transform: translateY(100%);
	}

	.bizInfoOverlay.bizInfoOverlay--show .bizInfoSheet {
		transform: translateY(0);
	}
}

/* =======================
   Kitchen Reviews overlay
   ======================= */

.kReviewsOverlay {
	position: fixed;
	inset: 0;
	z-index: 1300;
	display: flex;
	align-items: center;        /* centered by default (desktop) */
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.22s ease-out;
}

.kReviewsOverlay[hidden] {
	display: none;
}

.kReviewsOverlay.kReviewsOverlay--show {
	opacity: 1;
	pointer-events: auto;
}

.kReviewsSheet {
	width: min(500px, 94vw);
	max-height: 80vh;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.25);
	display: flex;
	flex-direction: column;
	transform: translateY(24px);
	opacity: 0;
	transition: transform 0.22s ease-out, opacity 0.22s ease-out;
}

.kReviewsOverlay.kReviewsOverlay--show .kReviewsSheet {
	transform: translateY(0);
	opacity: 1;
}

/* header */
.kReviewsHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 12px 4px 20px;
    background-color: #f1f3f5;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

.kReviewsTitle {
	font-size: 20px;
	font-weight: 700;
}

.kReviewsCloseBtn {
   height: 40px;
   width: 40px;
	border: 0;
	background: #f1f3f5;
   border-radius: 10px;
	border: 0;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
   align-items: center;
   justify-content: center;
   display: flex;
	transition: background-color 0.2s ease, transform 0.25s ease;
}

/* .kReviewsCloseBtn:hover{
    background-color: #e1e3e5;

} */

/* list area */
.kReviewsList {
	padding: 12px 16px 16px;
	overflow-y: auto;
}

/* individual review */
.kReviewItem {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}

.kReviewAvatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: #e5e7eb;
	overflow: hidden;
	flex: 0 0 auto;
}

.kReviewAvatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kReviewBubble {
	border-radius: 18px;
	flex: 1 1 auto;
}
.kReviewBubble2 {
	background: #f3f4f6;
	border-radius: 10px;
	padding: 10px 12px 7px 12px;
	flex: 1 1 auto;
}

.kReviewNameRow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}

.kReviewName {
	font-weight: 600;
	font-size: 14px;
	color: #135;          /* blue like the app */
}

.kReviewStars {
	font-size: 13px;
}

.kReviewText {
	font-size: 13px;
	color: #111827;
	margin-bottom: 6px;
}

.kReviewMetaRow {
	display: flex;
	gap: 16px;
	font-size: 12px;
	color: #6b7280;
    margin-left: 12px;
}

.kReviewMetaLike {
	font-weight: 500;
}

/* empty / loading */
.kReviewsEmpty,
.kReviewsLoading {
	padding: 12px 4px 16px;
	font-size: 14px;
	color: #6b7280;
}

/* ----- mobile: behave like bottom sheet ----- */
@media (max-width: 570px) {
	.kReviewsOverlay {
		align-items: flex-end; /* stick to bottom */
	}

	.kReviewsSheet {
		width: 100%;
		max-height: 80vh;
		border-radius: 24px 24px 0 0;
		transform: translateY(100%);
	}

	.kReviewsOverlay.kReviewsOverlay--show .kReviewsSheet {
		transform: translateY(0);
	}
}


/* Price replacement label (use same feel as discounted price) */
.bizMealPrice--status{
  color: #f08c00;     /* orange */
  font-weight: 700;
}

/* Extra safety: if + somehow renders, hide it when paused */
.bizMealCard.is-paused .bizMealPlus{
  display: none !important;
}