/* ===== Costa table styles (plugin) ===== */
.costa-menu-table-wrap{ overflow:auto; }

table.costa-menu-compact{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  table-layout: fixed;
}

table.costa-menu-compact caption{
  caption-side: top;
  text-align: left;
  font-weight: 700;
  padding: 10px 0;
}

table.costa-menu-compact th,
table.costa-menu-compact td{
  border:1px solid #e6e6e6;
  padding:8px 10px;
  vertical-align:top;
}

/* Default column widths (desktop) */
.costa-menu-compact th.col-item,  .costa-menu-compact td.col-item  { width: 52%; }
.costa-menu-compact th.col-price, .costa-menu-compact td.col-price { width: 18%; }
.costa-menu-compact th.col-kcal,  .costa-menu-compact td.col-kcal  { width: 16%; }
.costa-menu-compact th.col-sizes, .costa-menu-compact td.col-sizes { width: 14%; }

/* Item can wrap always */
.costa-menu-compact td.col-item{
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}

/* Desktop: keep these compact */
.costa-menu-compact td.col-price,
.costa-menu-compact td.col-kcal,
.costa-menu-compact td.col-sizes{
  white-space: nowrap;
}

/* Links */
.costa-item-link{
  text-decoration:none;
  font-weight:600;
  color:#222;
}
.costa-item-link:hover{ text-decoration:underline; }

/* Mobile: allow breaking for Price + Calories; hide sizes */
@media (max-width: 640px){
  table.costa-menu-compact{ font-size:13px; }

  .costa-menu-compact th.col-item,  .costa-menu-compact td.col-item  { width: 50%; }
  .costa-menu-compact th.col-price, .costa-menu-compact td.col-price { width: 25%; }
  .costa-menu-compact th.col-kcal,  .costa-menu-compact td.col-kcal  { width: 25%; }

  .costa-menu-compact th.col-sizes,
  .costa-menu-compact td.col-sizes{ display:none; }

  .costa-menu-compact td.col-price,
  .costa-menu-compact td.col-kcal{
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.25;
  }
}