/* Featured picks only; shared menu-card images retain their existing sizing. */
.popular-section.section-shell {
  background:#DA291C;
  color:#FFFFFF;
  padding-block:56px 44px;
}
.popular-section.section-shell>.popular-badge {
  display:table;
  margin:0 0 18px;
  padding:7px 13px;
  border-radius:999px;
  background:#FFC72C;
  color:#111111;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
.popular-section .section-heading {
  align-items:flex-end;
  gap:28px;
  margin-bottom:30px;
}
.popular-section .section-heading h2 {
  max-width:22ch;
  margin:0;
  color:#FFFFFF;
  font-size:clamp(34px,3vw,46px);
  font-weight:750;
  letter-spacing:-.025em;
  line-height:1.08;
}
.popular-section .section-heading p {
  max-width:43ch;
  margin:0;
  color:#FFFFFF;
  font-size:14px;
  line-height:1.75;
}
.popular-section .cm-popular {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.popular-section .cm-product-card {
  background:#FFFFFF;
  border:1px solid #FFFFFF;
  border-radius:16px;
  transition:transform .2s ease,border-color .2s ease;
}
.popular-section .cm-product-info {
  padding:12px 22px 22px;
  gap:10px;
}
.popular-section .cm-product-card h3 {
  color:#111111;
  font-size:22px;
  font-weight:700;
  line-height:1.25;
  min-height:2.5em;
  margin:0;
  letter-spacing:-.015em;
}
.popular-section .cm-product-values {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 12px;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #EEEEEE;
}
.popular-section .cm-price {
  font-size:24px;
  line-height:1.3;
  font-weight:750;
  color:#DA291C;
}
.popular-section .cm-calories {
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  color:#555555;
}
.popular-section .price-explainer {
  background:transparent;
  border:0;
  border-top:1px solid #FFFFFF55;
  border-radius:0;
  padding:24px 0 0;
  margin-top:30px!important;
  gap:28px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.popular-section .price-explainer h3 {
  color:#FFFFFF;
  font-size:17px;
  font-weight:650;
  line-height:1.3;
  margin:0 0 8px;
}
.popular-section .price-explainer p {
  color:#FFFFFF;
  font-size:14px;
  line-height:1.75;
  margin:0;
}
@media(hover:hover) {
  .popular-section .cm-product-card:hover {
    transform:translateY(-4px);
    border-color:#FFC72C;
  }
}
@media(max-width:1023px) {
  .popular-section .cm-popular { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .popular-section .section-heading { display:block; }
  .popular-section .section-heading p { max-width:65ch; margin-top:16px; }
}
@media(max-width:700px) {
  .popular-section.section-shell { padding-block:38px 32px; }
  .popular-section .cm-popular { gap:12px; }
  .popular-section .section-heading { margin-bottom:24px; }
  .popular-section .section-heading h2 { font-size:34px; }
  .popular-section .cm-product-info { padding:10px 12px 16px; }
  .popular-section .cm-product-card h3 { font-size:19px; }
  .popular-section .cm-product-values { min-height:78px; align-content:flex-end; gap:4px 8px; }
  .popular-section .price-explainer { grid-template-columns:1fr; gap:20px; padding-top:22px; }
}
@media(max-width:359px) {
  .popular-section .cm-popular { grid-template-columns:1fr; }
  .popular-section .cm-product-values { min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
  .popular-section .cm-product-card { transition:none; }
  .popular-section .cm-product-card:hover { transform:none; }
}
