/* Dedicated mobile catalog settings. Never applies to tablet or desktop. */
@media(max-width:600px){
 #items.grid.gf-mobile-catalog{
  grid-template-columns:repeat(var(--gf-mc-cols,2),minmax(0,1fr));
  gap:var(--gf-mc-gap,10px);
 }
 #items.gf-mobile-catalog .item{
  min-width:0;overflow:hidden;
  border-radius:var(--gf-mc-radius,12px);
 }
 #items.gf-mobile-catalog .item .content{
  padding:var(--gf-mc-padding,10px);
  gap:var(--gf-mc-content-gap,8px);
 }
 #items.gf-mobile-catalog .item > img,
 #items.gf-mobile-catalog .item:not(:has(> img))::before{
  width:100%;height:auto;aspect-ratio:var(--gf-mc-ratio,1 / 1);
  border-radius:var(--gf-mc-image-radius,10px);
  object-fit:cover;overflow:hidden;
 }
 #items.gf-mobile-catalog .item:not(:has(> img))::before{
  content:'Фото відсутнє';
  display:grid;place-items:center;
  color:#bfb5ab;background:var(--gf-mc-image-fallback,#30251e);
  padding:12px;font-size:12px;text-align:center;
 }
 #items.gf-mobile-catalog .item h3{
  font-size:var(--gf-mc-title-size,15px);color:var(--gf-mc-title-color,#fff);
  line-height:1.3;min-width:0;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:var(--gf-mc-title-lines,2);
  line-clamp:var(--gf-mc-title-lines,2);overflow:hidden;
 }
 #items.gf-mobile-catalog .item .content > p{
  display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:var(--gf-mc-desc-lines,2);
  line-clamp:var(--gf-mc-desc-lines,2);overflow:hidden;
  font-size:var(--gf-mc-desc-size,13px);
 }
 #items.gf-mobile-catalog.gf-mc-no-desc .item .content > p,
 #items.gf-mobile-catalog.gf-mc-no-weight .item .dish-weight{display:none!important}
 #items.gf-mobile-catalog .item .dish-weight{
  color:var(--gf-mc-weight-color,#aaa);
  font-size:var(--gf-mc-weight-size,12px);
 }
 #items.gf-mobile-catalog .item .dish-footer{
  display:flex;flex-direction:column;align-items:stretch;gap:var(--gf-mc-button-gap,8px);margin-top:auto;padding-top:8px;min-width:0;
 }
 #items.gf-mobile-catalog .item .price{
  color:var(--gf-mc-price-color,#fff);
  font-size:var(--gf-mc-price-size,17px);
  text-align:var(--gf-mc-price-align,left);
  white-space:normal;overflow-wrap:anywhere;
 }
 #items.gf-mobile-catalog .item .add-cart{
  width:100%;height:auto;min-height:var(--gf-mc-button-height,42px);
  background:var(--gf-mc-button-bg,#f58b25);
  color:var(--gf-mc-button-color,#191919);
  border-radius:var(--gf-mc-button-radius,10px);
  font-size:var(--gf-mc-button-size,14px);
  padding:8px;white-space:normal;
 }
 #items.gf-mobile-catalog.gf-mc-button-compact .item .add-cart{width:auto;align-self:center;padding-inline:16px}
}

/* Mobile launch pass: align names, optional weight, descriptions and action row.
   Respect configured type sizes, line count, images, columns and buttons. */
@media(max-width:600px){
 #items.gf-mobile-catalog .item .content{
  display:flex;flex-direction:column;
  gap:clamp(5px,1.7vw,var(--gf-mc-content-gap,8px));
 }
 #items.gf-mobile-catalog .item h3{
  min-height:calc(var(--gf-mc-title-lines,2) * 1.3em);
  margin:0;
 }
 #items.gf-mobile-catalog .item .dish-weight{
  display:block;
  min-height:1.35em;
  line-height:1.35;
  margin:0;
 }
 #items.gf-mobile-catalog .item .dish-weight:empty{visibility:hidden}
 #items.gf-mobile-catalog .item .content > p{
  min-height:calc(var(--gf-mc-desc-lines,2) * 1.45em);
  line-height:1.45;
  margin:0;
 }
 #items.gf-mobile-catalog .item .content > p:empty{visibility:hidden}
 #items.gf-mobile-catalog.gf-mc-no-desc .item .content > p,
 #items.gf-mobile-catalog.gf-mc-no-weight .item .dish-weight{
  display:none!important;min-height:0;
 }
 #items.gf-mobile-catalog .item .dish-footer{
  flex:0 0 auto;margin-top:auto;
 }
}

/* Tighter flow from mobile category tiles to actual dishes. */
@media(max-width:600px){
 main.wrap #categoryFilters.category-tiles{
  margin-top:clamp(12px,3vw,18px);
  margin-bottom:clamp(8px,2vw,14px);
 }
 main.wrap #status{
  margin:0 0 clamp(12px,3vw,18px);
  padding:0;
  line-height:1.4;
  font-size:clamp(12px,3.4vw,14px);
 }
 main.wrap #items.grid{
  align-content:start;
  row-gap:var(--gf-mc-gap,10px);
 }
 main.wrap #items .catalog-section-title{
  margin:clamp(8px,2vw,14px) 0 0;
  padding:0 0 clamp(6px,1.5vw,9px);
  line-height:1.25;
 }
 main.wrap #items .catalog-section-title:first-child{
  margin-top:0;
 }
}

/* Empty alignment placeholders should never create gaps on desktop. */
@media(min-width:601px){
 #items .item .dish-weight:empty,
 #items .item .content > p:empty{display:none}
}
